2016-01-19 60 views
0

我有这个问题挣扎领域和DAX: Pivot chart cumulative (running in) distinct count鲜明的累计数 - 的PowerPivot,计算

我在这里复制它为了方便...

当时的想法是用来创建一个累积重复计数这个数据集:

Month ¦ Drink brand ¦ Drink type 
-------------------------------- 
1  ¦ Abc   ¦ Water 
1  ¦ Def   ¦ Soft 
1  ¦ Abc   ¦ Water 
1  ¦ Ghi   ¦ Soft 
1  ¦ Xyz   ¦ Water 
2  ¦ Abc   ¦ Water 
2  ¦ Abc   ¦ Water 
2  ¦ Jkl   ¦ Soft 
2  ¦ Opq   ¦ Soft 
2  ¦ Abc   ¦ Water 

而所需图表:

  ¦ 
Drink  ¦ 
type  ¦   S 
cumulative ¦   [] 
unique  ¦ W S W [] 
count  ¦ [] [] [] [] 
      ¦_[]_[]___[]_[]_ 
       1  2 
       Month 

我已经设法通过使用PowerPivot和DAX(数据分析表达式)创建两个计算字段来解决问题。对于“水”,它一直以:

=CALCULATE (
    DISTINCTCOUNT(Range[Drink brand]), 
    FILTER (
     ALL (Range[Month]), 
     Range[Month] <= MAX (Range[Month]) 
    ), 
    FILTER (
     ALL (Range[Drink type]), 
     Range[Drink type] = "Water" 
    ) 
) 

我有这个解决方案的问题是它的低scallability(需为有“饮料类型”创造尽可能多的新的计算领域)。有没有办法使用DAX创建相同的结果,只有一个计算字段或类似的结果?只用一种表达方式可以将结果分组为“饮料类型”吗?

回答

1

无需在[饮料类型]的度量中创建过滤器。只要让你的图表成为一个聚集的列/栏,并使用[Month]和[Drink Type]作为轴标签。枢轴图可以轻松处理多个标签,以适当嵌套。

编辑

下面是一个堆积柱形图枢轴:

enter image description here

+0

谢谢。在我现实世界的问题中,我正在使用堆叠柱形图。有没有办法为这种特殊的图表类型?如果我使用此解决方案,我是否也可以应用[饮料类型]的自定义排序(以群集或堆叠方式)? – zaptask

+0

当然,你可以用堆叠的柱/棒来做同样的事情。我只是根据你的模型提出了具体的建议。您可以通过Power Pivot模型中的另一列进行排序:http://blogs.technet.com/b/jessmeats/archive/2012/06/12/powerpivot-sort-by-column.aspx – greggyb

+0

当我只是更改图表类型“堆积”每个月我仍然有两个单独的列。是不是因为叠加发生在由AXIS字段定义的组内,并且由于[Drink types]和[Month]正在定义这些组,所以它们不能堆叠? – zaptask