2017-05-04 67 views
1

當我們查詢具有多個級別的維度/層次時,鑽取默認允許通過該層次的所有級別... 例如,在由Continent/Country/State/City組成的層級中。IcCube報告:如何在層次結構中停止鑽取?

在沒有城市的情況下不需要創建新的層次結構的情況下,如何將演練限制在州級別(即不顯示城市級別)的解決方案是什麼?

我聽說這可以通過使用架構腳本中的函數來「扁平」層次結構來完成。

有人能給我一個生動的例子嗎?

回答

1

第一個是將我們的導航映射爲MDX功能(您也可以複製&粘貼代碼但沒有重用)。 Somethink像這樣(例如銷售):

CREATE FUNCTION navigationDemo(_x) AS 
      { 
      CASE 
      WHEN _x.hierarchy is [Customers].[Geography] THEN [Product].[Product].[Category] 
      WHEN _x.hierarchy is [Product].[Product] THEN [Time].[Year].[Year] 
      ELSE {} 
      END 
      } 

一旦做到這一點,我們可以去我們的小工具,在我們的例子表,並定義一個追溯策略。它應該是類型mdxExpression的,我們可以插入MDX表達我們新創建的功能

navigationDemo($member) // where $member is the clicked member in the table 

難道沒有忘記設置「通過過濾器」,因爲我們想通過點擊的成員進行過濾的新數據。

enter image description here