Forum Discussion
[Help] Count with condition across column
- 9 years ago
Hi there,
Happy to help! So DAX works best calculating rows within a column. It's trickier when you have values for a customer split across columns, however there is a wonderful feature in "Get & Transform (Power Query)" that lets you UnPivot columns onto rows. If you're able to do that in Power Query first then creating the DAX measure is MUCH easier. Your table would look like the one pictured below following the "UnPivoting".
With the table in this structure you would create two DAX measures: [Total Volume] & [# of Months w/ Sales], with the idea that DAX measures are a lot like lego blocks, one building on the other. The [Total Volume] measure will be referenced in [# of Months w/ Sales] which will count the months of sales.
[Total Volume] Formula:
= SUM( 'Table'[Volume] )
[# of Months w/ Sale] Formula:
= CALCULATE ( DISTINCTCOUNT ( 'Table'[Volume Month] ), FILTER ( 'Table', [Total Volume] > 0 ) )I'm happy to send you over the PBI file with these transformations/formulas as well if you'd like.
- 9 years ago
Have a play with this in the Query Editor
Highlight the three columns you want to "unpivot" then right click and select Unpivot columns
Turned into this....
Hi minhvuong93
In the short term, you could add the following calculated column to your table to simulate the COUNTIF function
Number of Times Buying =
IF([Volume Jan]>0,1,0)
+ IF([Volume Feb]>0,1,0)
+ IF([Volume Mar]>0,1,0)
However, I recommend you pivot your data structure to be the following which will make it alot easier to perform a variety of calculations and not rely on hardcoding as per my above column
SalesRep , CustomerID , Month , Volume
----------------------------------------
SR1 , C1 , Jan 17 , 1
SR1 , C1 , Mar 17 , 1
SR2 , C1 , Mar 17 , 1
etc ....
- minhvuong939 years agoHelper II
Thanks Phil_Seamark ,
The problem is the data provided for me is fixed like that.
How can I restructure the data from what I have into like you mention above?
Since it is a very large data with million of rows
- Phil_Seamark9 years agoMicrosoft Employee
Hi minhvuong93
You can pivot it either in the Query Editor or in DAX. If you can do it in the Query Editor then your model will have less work to do.