zaptask
zaptask

Reputation: 707

Distinct cumulative count - PowerPivot, calculated fields and DAX

I have struggled with this problem: Pivot chart cumulative (running in) distinct count

I am copying it here for convenience...

The idea was to create a cumulative distinct count using this data set:

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

And the required chart:

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

I have managed to solve the problem by using PowerPivot and DAX (Data Analysis Expressions) by creating two calculated fields. For "Water" it has been:

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

The problem I have with this solution is its low scallability (the need to create as many new calculated fields as there are "Drink types"). Is there a way to create the same result using DAX with just one calculated field or similar freature? Is is possible to group the result by "Drink type" in just one expression?

Upvotes: 0

Views: 1349

Answers (1)

greggyb
greggyb

Reputation: 3798

No need to create a filter in the measure for [Drink Type]. Just make your chart a clustered column / bar, and use both [Month] and [Drink Type] as axis labels. Pivot charts can easily handle multiple labels that will nest appropriately.

Edit

Here's the pivot for a stacked column:

enter image description here

Upvotes: 1

Related Questions