Forum Discussion
bluetronics
3 years agoHelper III
How to use switch function
Hello All,
Anyone can teach me how to get the result withot filter like below:
Dax that I typed in:
Customer_80-20 = SWITCH(true(), Sheet1[Cumulated % of Customer] <=0.8, "80", "20")
Product_80-20 = SWITCH(true(), Sheet1[Cumulated % of Productt] <=0.8, "80", "20")
Rank by Customer = Rankx(ALLSELECTED(Sheet1[Customer]),calculate(sum(Sheet1[Revenue])),,DESC,Skip)
Rank by Product = Rankx(ALLSELECTED(Sheet1[product]),calculate(sum(Sheet1[Revenue])),,DESC,Skip)
Cumulated % of Customer =
VAR CurrentCustomerRank = [Rank by Customer]
Return SUMX(FILTER(ALLSELECTED(Sheet1[Customer]), [Rank by Customer]<= CurrentCustomerRank),
CALCULATE(SUM(Sheet1[Revenue])/CALCULATE(SUM(Sheet1[Revenue]), all(Sheet1[Customer]))))
Cumulated % of Product =
VAR CurrentProductRank = [Rank by Product]
Return SUMX(FILTER(ALLSELECTED(Sheet1[Product]), [Rank by Product]<= CurrentProductRank),
CALCULATE(SUM(Sheet1[Revenue])/CALCULATE(SUM(Sheet1[Revenue]), all(Sheet1[Product]))))
Customer_Product_80-20 = SWITCH(True(),
Sheet1[Cumulated % of Customer] <= 0.8 && Sheet1[Cumulated % of Product] <= 0.8, "80-80",
Sheet1[Cumulated % of Customer] <= 0.8 && Sheet1[Cumulated % of Product] > 0.8, "80-20",
Sheet1[Cumulated % of Customer] > 0.8 && Sheet1[Cumulated % of Product] <= 0.8, "20-80",
Sheet1[Cumulated % of Customer] > 0.8 && Sheet1[Cumulated % of Product] > 0.8, "20-80")
Hi bluetronics ,
Please try the measure.
Measure = CALCULATE( [Customer_80-20], ALLSELECTED(Sheet1[Product])) & "-" & CALCULATE([Product_80-20], ALLSELECTED(Sheet1[Customer]))
3 Replies
- bluetronicsHelper III
Link of Power BI file sample for the test run. Thank you for coaching me in advance if you know the solution.
- v-kkf-msftCommunity Support
Hi bluetronics ,
Please try the measure.
Measure = CALCULATE( [Customer_80-20], ALLSELECTED(Sheet1[Product])) & "-" & CALCULATE([Product_80-20], ALLSELECTED(Sheet1[Customer]))- bluetronicsHelper III
Hi v-kkf-msft,
Thank you for providing me a solution. it works perfectly.
Best Regards,