2017-04-12 40 views
1

Iccube - 報告: 我想使用某些度量值作爲過濾器。Iccube:作爲過濾器測量

例如: 尺寸:產品 - 措施:價格

我想過濾它們< 50€所有產品。 解決方法將是「價格」的第二個維度,但我不希望這樣,因爲比架構加載時間要長。

可選:我可以將價格定義爲維度的自定義屬性。

注:我不想用這樣的 ([產品] .CurrentMember.properties( 「價格」)= '50'),因爲有很多不同的值

歡呼Ĵ

回答

2

你可能會在服務器或報告中解決此問題。

在服務器

您可以添加一個類似於公用事業層次描述here。由於這僅適用於一種產品,因此需要將其作爲產品維度的輔助層次結構(加載維度時需要具有此信息的新列)。

在報告

數據嚮導中缺少過濾器,但您可能會輸入過濾您的產品的MDX。你可以用MDX Filter function來做到這一點。

該解決方案的要點在於,如果查詢定義了subselectwhere clause以及是否在過濾產品時使用此選項。使用查詢上下文意味着如果你的查詢定義了一個特定的過濾器,例如[MyCountryInFilter],它將在評估過濾器度量時使用。

Filter([Products] , [Measures].[MyMeasure]) 

將評估[MyMeasure] as([MyMeasures],[MyCountryInFilter])。您可以通過使用

Filter([Products], ([Country].defaultmember, [MyMeasure]) 

更強大的版本,使這個「過濾器」獨立是通過使用一組靜態確實使這個獨立的過濾器。如果設置爲總是同樣可以創建一組靜態(在架構中定義它)所描述的here

CREATE STATIC SET [MyFilteredProducts] as Filter(... 

它也可以在請求級別定義一組具有靜態環境中求

WITH 
    STATIC SET [MyFilteredProducts] as Filter(... 
... 

希望它有幫助