不同的累积计数 - PowerPivot,计算字段和DAX

时间:2016-01-19 13:30:22

标签: excel pivot-table powerpivot dax pivot-chart

我一直在努力解决这个问题: Pivot chart cumulative (running in) distinct count

为方便起见,我在这里复制...

我们的想法是使用此数据集创建累积的不同计数:

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"
    )
)

我对这个解决方案的问题是它的可扩展性低(需要创建与“饮料类型”一样多的新计算字段)。有没有办法使用DAX只用一个计算字段或类似的范围来创建相同的结果?可以用“饮料类型”将结果分组到一个表达式中吗?

1 个答案:

答案 0 :(得分:1)

无需在[饮品类型]的度量中创建过滤器。只需将您的图表设为聚类列/条,并使用[月]和[饮品类型]作为轴标签。透视图可以轻松处理多个适当嵌套的标签。

修改

这里是堆叠列的轴:

enter image description here