Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
GiveMeArrays
Frequent Visitor

Correct Syntax for Table.TransformColumns + Text.Length + Text.Combine

Please help with syntax guidance for the following M code:

 

= Table.TransformColumns( #"table" , { "column", each if Text.Length(_) = 4 then _ else Text.Combine( {"0",_} ) } )

 

Result: Expression.Error: A cyclic reference was encountered during evaluation.

 

In short, the "column" within "table" stores four digit numbers as text for IDs. However, some three digit IDs need a zero appended to the front of the string (e.g., 0123). The formula above is attempting to fix that.

 

Dozens of edits have brought me this far, so maybe it's conceptual at this point, rather than syntax?

 

Thank You!

1 ACCEPTED SOLUTION
Daryl-Lynch-Bzy
Community Champion
Community Champion

Hi @GiveMeArrays - You could consider using Text.PadStart like this:

DarylLynchBzy_0-1661541440441.png

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjI3VorViVYyNjExBTNMjYxNYSJg2sRIKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", Int64.Type}}),
    #"Added to Column" = Table.TransformColumns(#"Changed Type", {{"Column1", each Text.PadStart( Text.From(_) ,4 , "0" ) , type text }})
in
    #"Added to Column"

 

View solution in original post

1 REPLY 1
Daryl-Lynch-Bzy
Community Champion
Community Champion

Hi @GiveMeArrays - You could consider using Text.PadStart like this:

DarylLynchBzy_0-1661541440441.png

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjI3VorViVYyNjExBTNMjYxNYSJg2sRIKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", Int64.Type}}),
    #"Added to Column" = Table.TransformColumns(#"Changed Type", {{"Column1", each Text.PadStart( Text.From(_) ,4 , "0" ) , type text }})
in
    #"Added to Column"

 

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.