The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
I want a custom column where if a row in another column is blank, then return blank, but if it has ANY value, then return (1/ Total # of Rows in current Table)
I am trying this.
= Table.AddColumn(#"Changed Type1", "Custom", each if [Merged_Use] <> null then (1 / ( Table.RowCount(Leadership_Usage_Tracking[TRT_ID]) as number)) else "")
The rows that are supposed to remain null are working fine. Anywhere that I am expecting (1/ Total # of rows), I am getting the error "A cyclic reference was encountered during evaluation."
Am I using the wrong expression to count the number of rows in this table? I also tried just [TRT_ID] (instead of prefacing the table name), but then the error is "cannot convert value to type Table", which makes me think I am using the wrong expression.
EDIT:
I went and tried adding an Index column and then calling the max number using List.Max, but it is BOGGING down PowerBI something bad....
= Table.AddColumn(#"Added Index", "Custom", each if [Merged_Use] <> null then (1/List.Max(#"Added Index"[Index])) else "")
Solved! Go to Solution.
Hi @Rdata,
Cyclic references are a bit tricky sometimes. One way to solve your issue is to save the number of rows in a step before and then reference that variable:
Before:
After:
And here the code in M:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSK1YlWKsisqkoEs9CIksTk7MqS1OQMpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column", type text}}), #"Replaced Value" = Table.ReplaceValue(#"Changed Type","",null,Replacer.ReplaceValue,{"Column"}), #"countrows" = Table.RowCount(#"Replaced Value"), #"Added Custom" = Table.AddColumn(#"Replaced Value", "Custom", each if [Column] <> null then 1 / #"countrows" else null) in #"Added Custom"
Let me know if this helps 🙂
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! |
#proudtobeasuperuser |
Hi @Rdata,
Cyclic references are a bit tricky sometimes. One way to solve your issue is to save the number of rows in a step before and then reference that variable:
Before:
After:
And here the code in M:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSK1YlWKsisqkoEs9CIksTk7MqS1OQMpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column", type text}}), #"Replaced Value" = Table.ReplaceValue(#"Changed Type","",null,Replacer.ReplaceValue,{"Column"}), #"countrows" = Table.RowCount(#"Replaced Value"), #"Added Custom" = Table.AddColumn(#"Replaced Value", "Custom", each if [Column] <> null then 1 / #"countrows" else null) in #"Added Custom"
Let me know if this helps 🙂
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! |
#proudtobeasuperuser |
This makes sense, thank you!
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.
User | Count |
---|---|
121 | |
85 | |
75 | |
55 | |
46 |
User | Count |
---|---|
135 | |
127 | |
78 | |
64 | |
63 |