使用VS2012中的查询设计器我正在创建一个关于鸡的报告。
我选择我的尺度(鸡的数量)和尺寸(农场)。
我使用过滤器表达式选项为鸡肉颜色创建参数,并且仅包括红色,蓝色或绿色的鸡。这给了我一些看起来像这样的东西:
Farm |Chicken Count
A |3
B |4
C |19
现在我想把这个鸡的数量显示为农场所有鸡总数的百分比。像这样:
Farm |Chicken Count |Percentage of Total Chickens at Farm
A |3 |0.13
B |4 |1
C |19 |0.45
如何创建计算成员以显示最后一个字段?
我试过
[措施]。[鸡肉计数] / SUM(轴(1),[措施]。[鸡肉计数])
但是这给了我所有符合参数的农场所有鸡只的鸡肉数量。
我面临的问题是,我无法找到一种方法来获取农场的所有鸡 - 忽略过滤器。
我该怎么做
[测量]。[鸡肉计数] / SUM(未过滤的鸡)?
如果有任何我可以帮助解释的话,请在评论中告诉我。 还请假设(如果尚不清楚)我几乎不了解MDX。
答案 0 :(得分:1)
使用以下表达式为查询添加计算度量:
[Measures].[Chicken Count] / ([Measures].[Chicken Count], [Chicken].[Colour].[All])
分母中的元组删除了按颜色对鸡进行的局部过滤(假设您的尺寸名称被称为“鸡肉'属性被称为'颜色'”),返回在给定的背景下鸡的总数。
同样,如果你想要一个农场百分比的鸡总数,你会这样做:
[Measures].[Chicken Count] / ([Measures].[Chicken Count], [Chicken].[Colour].[All], [Farm].[Farm].[All])
答案 1 :(得分:0)
假设您的过滤器基于[颜色]尺寸而您只过滤了褐色鸡,您可以将其定义为:
With
Member [Measures].[Brown Chickens] as ( [Measures].[Chicken Count], [Color].[Brown])
Member [Measures].[All Chickens] as ( [Measures].[Chicken Count], [Color].[All])
Member [Measures].[Percentage of Count] as [Measures].[Brown Chickens]]/[Measures].[All Chickens]
Select
[Farm].Children on Rows,
{ [Measures].[Brown Chickens], [Measures].[Percentage of Count] } on Columns
From [myCube]