Iccube - 报道: 我想使用某些度量值作为过滤器。
例如: 尺寸:产品 - 衡量:价格
我想过滤所有< 50€。 解决方法将是第二个维度"价格"但我不希望这样,因为架构会加载更长的时间。
可选:我可以将价格定义为维度的自定义属性。
注意:我不想使用这样的东西 ([product] .CurrentMember.properties(" price")=' 50')因为有许多不同的值
欢呼j答案 0 :(得分:2)
您可以在服务器或报告中解决此问题。
在服务器中:
您可以添加类似于描述here的实用程序层次结构。由于这仅适用于一个产品,因此您需要将此作为维度的二级层次结构(在加载维度时需要一个包含此信息的新列)。
在报告中。
数据向导中缺少过滤器,但您可能会输入过滤产品的MDX。您可以使用MDX Filter function执行此操作。
此解决方案的要点是,如果您查询定义subselect或where clause,以及是否要在过滤产品时使用此功能。使用查询上下文意味着如果您的查询定义了特定的过滤器,例如[MyCountryInFilter],它将在评估过滤器度量时使用。
Filter( [Products] , [Measures].[MyMeasure] )
将[MyMeasure]评估为([MyMeasures],[MyCountryInFilter])。您确实可以使用
使其独立于过滤器Filter( [Products], ( [Country].defaultmember, [MyMeasure] )
使这个'过滤器'独立的更强大的版本是使用静态集。如果集合始终相同,您可以创建一个静态集(在架构中定义它),如here所述:
CREATE STATIC SET [MyFilteredProducts] as Filter( ...
还可以在请求级别定义使用静态上下文评估的集合
WITH
STATIC SET [MyFilteredProducts] as Filter( ...
...
希望有所帮助