SOLVED

Running total in Pivot table (Monthwise incrementation by distinct count)

Brass Contributor

Dear Experts,

 

I need help regarding running total in pivot.

Please find the attachement and it is better explained there.

 

thank you in advance for your quick response.

15 Replies
best response confirmed by Ubaid ur Rahman (Brass Contributor)
Solution

@Ubaid ur Rahman , that's not the same as in your table. If you have distinct count for the one month and another one, total distinct count won't be a sum since some suppliers are repeated in full period. Thus total for two months shall be less than sum of distinct count for each of two months. With that logic that is like

DistinctCountSuppliersTotal:=CALCULATE (
    DISTINCTCOUNT([Supplier No.]),
    FILTER ( ALL ( Table1 ), Table1[Purchase date] <= MAX (Table1[Purchase date] ) )
)

If distinct count only for the year

DistinctCountSuppliers:=CALCULATE (
    DISTINCTCOUNT([Supplier No.]),
    FILTER ( ALLEXCEPT ( Table1,Table1[Year] ), Table1[Month] <= MAX (Table1[Month] ) )
)

I added both, please check in the file.

 

Or you assume another logic?

@Sergei Baklan Thank you for your quick response.

 

Yes that is correct but now the problem is when I apply it to my original file it is somehow not working.

For confidential reason I did extract some elements which I uploaded.


See in the picture.

@Ubaid ur Rahman , bit hard to recognize on screenshort was is wrong, I added these metrics for your model, please see third sheet attached.

 

@Ubaid ur Rahman , perhaps I misunderstood you. "Not working" means wrong formula syntax, or wrong result calculated by that formula?

@Sergei Baklan  I mean wrong calculations. What I see is it is not counting the distinct numbers.

@Sergei Baklan Can you please delete this post as it contains some confidential information and I dont want to be use in public. Thank you for you understanding.

@Ubaid ur Rahman , I removed formulas and attachment, hope it is enough

@Ubaid ur Rahman , I'll check distinct count calculations by another way. But let agree first - you'd like running distinct count over periods (e.g. in March 2019 we have total distinct count from Jan 2018 to Feb 2019 includes), or we start running total for each new year from scratch; or we sum distinct counts for each month ignoring what some could be repeated in full period.

 

@Sergei Baklan Yes I want running distinct count over period. as you mentioned in exp. like in March 2019 we should have a sum of distinct count from Jan and Feb and so on at the end.

(At the end grand total should also sum distinct count for the whole year if possible)

 

@Ubaid ur Rahman , and if we go from one year to another, we take yellow variant?

image.png

 

@Ubaid ur Rahman , okay, for the yellow variant you shall add one more column into your data model, let say DateKey, as

=[Year]*100+[Month]

and modify previous formula as

DistinctCountSuppliers:=CALCULATE (
    DISTINCTCOUNT([Supplier No.]),
    FILTER ( ALL ( Table1 ), Table1[DateKey] <= MAX (Table1[DateKey] ) )
)

Didn't test it, will illustrate on the sample some later

@Ubaid ur Rahman , that's in Sheet3 attached based on your sample data

@Sergei Baklan Thank you so so much for your time and support.

1 best response

Accepted Solutions
best response confirmed by Ubaid ur Rahman (Brass Contributor)
Solution

@Ubaid ur Rahman , that's not the same as in your table. If you have distinct count for the one month and another one, total distinct count won't be a sum since some suppliers are repeated in full period. Thus total for two months shall be less than sum of distinct count for each of two months. With that logic that is like

DistinctCountSuppliersTotal:=CALCULATE (
    DISTINCTCOUNT([Supplier No.]),
    FILTER ( ALL ( Table1 ), Table1[Purchase date] <= MAX (Table1[Purchase date] ) )
)

If distinct count only for the year

DistinctCountSuppliers:=CALCULATE (
    DISTINCTCOUNT([Supplier No.]),
    FILTER ( ALLEXCEPT ( Table1,Table1[Year] ), Table1[Month] <= MAX (Table1[Month] ) )
)

I added both, please check in the file.

 

Or you assume another logic?

View solution in original post