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

Distinct cumulative count - PowerPivot, calculated fields and DAX

我一直在努力解决这个问题: 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(数据分析表达式)解决了这个问题。 "Water" 是:

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

这个解决方案的问题是它的可扩展性低(需要创建尽可能多的新计算字段 "Drink types")。有没有一种方法可以使用仅具有一个计算字段或类似功能的 DAX 创建相同的结果?是否可以在一个表达式中按 "Drink type" 对结果进行分组?

无需在 [Drink Type] 的度量中创建过滤器。只需将您的图表设为聚集的柱形/条形,并使用 [Month] 和 [Drink Type] 作为轴标签。数据透视图可以轻松处理适当嵌套的多个标签。

编辑

这是堆叠列的枢轴: