Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
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!
User | Count |
---|---|
140 | |
113 | |
104 | |
77 | |
64 |
User | Count |
---|---|
135 | |
122 | |
101 | |
71 | |
61 |