Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi I have these 4 columns here in Power BI.
What I am trying to do is to tally up the "Yes" by EMP, if using EXCEL, its basically Totals = COUNTIF(ColumnA:ColumnD,"Yes")
For some reason I can't seem to do the same thing in Power BI without having to use relationships. (Unpivot Column, do a count of "Yes" on another table, use ALLEXCEPT, then join to the original)... but seems like a complicated solution.
I can't really use SWITCH either because what ever it will start evaluating column A, then sees a "Yes" and that column will be assigned 1, but it will not evaluate the other columns [B-D]
Is there a much simplier way?
Solved! Go to Solution.
Hi,
This M code works
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUYpMLQaSUBSrE61kBGEjxEGCxsiCUCmQuAmaIIKMjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [EMP = _t, A = _t, B = _t, C = _t, D = _t]),
#"Replaced Value" = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,{"A", "B", "C", "D"}),
#"Inserted Count" = Table.AddColumn(#"Replaced Value", "Count", each List.NonNullCount({[A], [B], [C], [D]}), Int64.Type)
in
#"Inserted Count"
Hope this helps.
Hi, @peterhui50 ;
You could create a measure as follow:
Measure = COUNTROWS( FILTER( UNION(VALUES('Table'[A]),VALUES('Table'[B]),VALUES('Table'[C]),VALUES('Table'[D])),[A]<>BLANK()))
The final show:
Best Regards,
Community Support Team _ Yalan Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi,
This M code works
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUYpMLQaSUBSrE61kBGEjxEGCxsiCUCmQuAmaIIKMjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [EMP = _t, A = _t, B = _t, C = _t, D = _t]),
#"Replaced Value" = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,{"A", "B", "C", "D"}),
#"Inserted Count" = Table.AddColumn(#"Replaced Value", "Count", each List.NonNullCount({[A], [B], [C], [D]}), Int64.Type)
in
#"Inserted Count"
Hope this helps.
@peterhui50 you can use this measure:
Measure =
IF ( HASONEVALUE ( Table[Column Name] ), MAX ( Table[Column] ),
CALCULATE ( COUNTROWS ( Table ), KEEPFITLERS ( Table[Column] = "Yes" ) )
)
and use above measure in the visual
I would ❤ Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make effort to give Kudos to whoever helped to solve your problem. It is a token of appreciation!
⚡ Visit us at https://perytus.com, your one-stop shop for Power BI-related projects/training/consultancy.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
114 | |
100 | |
83 | |
70 | |
61 |
User | Count |
---|---|
149 | |
114 | |
107 | |
89 | |
67 |