層次結構在crossjoin函式中呼叫多次

2021-08-23 11:19:48 字數 1148 閱讀 3138

問題來自sql版提問,問題提出比較清晰

這裡的多維資料集是foodmart的warehouse and sales。

1、查詢銷售量最高的2個品牌及其下銷量最低的商品

這個問題我使用下面語句:

select on columns,

generate(

topcount([product].[products].[brand].members, 2, [unit sales]),

* bottomcount([product].[products].[product].members, 1, ([unit sales],[product].[products].currentmember))

)on rows

from [warehouse and sales]

但是報錯說products層次結構在crossjoin函式中呼叫多次,我不明白為什麼?如果不能這樣做,而product維度又只有乙個層次結構,那麼應該這樣才能得到結果呢?

...我的第乙個回答

>>products層次結構在crossjoin函式中呼叫多次

錯誤說明已經很明白了,msdn的例子是兩個不同緯度(層次結構上的),同一層次結構只要用currentmember.children就可以了何必再交叉呢

反饋mdx寫成這樣:

select on columns,

generate(

topcount([product].[products].[brand].members, 2, [unit sales]),

bottomcount([product].[products].currentmember.children, 1, ([unit sales],[product].[products].currentmember))

)on rows

from [warehouse and sales]

每行前面就沒有商品品牌了。

我的第二個回答

層次結構不能多次出現,但是維度可以多次出現,把你要的品牌在前面再交叉一次吧:p

但是不能用層次結構,我不知道原始緯度是什麼,比如是[products].[brand]

rows這裡改為

* on rows

反饋我試了你說的,確實可以的

層次結構在crossjoin函式中呼叫多次

問題來自 版提問,問題提出比較清晰 這裡的多維資料集是foodmart的warehouse and sales。1 查詢銷售量最高的2個品牌及其下銷量最低的商品 這個問題我使用下面語句 select on columns,generate topcount product products bran...

Tomcat 層次結構

tomcat伺服器由一系列可配置元件構成,其中核心元件是 catalina servlet容器,它是 其他所有 tomcat元件的頂層容器。tomcat各元件之間存在的層次關係如圖 1 2所示。專家提示 tomcat的元件可以在 conf server.xml檔案中進行配置,每個tomcat元件在s...

xBIM IFC 層次結構

ifc的空間層級 下面例子 如何從檔案中檢索空間結構,ifc的空間結構是指代表專案,地點,建築物,樓層和空間的層次結構。那麼檢視ifc檔案,我們將會發現建築物可以包含樓層和其他建築物,樓層可以包含空間以及其他樓層等。而且這種關係是用ifcrelaggregates建模的,但是如果想找到包含在特點空間...