Forum Discussion
Anonymous
2 years agoNot applicable
How to convert text to Title Case/Proper Case/CamelCase
For example, how to convert following column values: Column1 PP FABRICS - PP Fabrics PP/HDCE FABRICS CONTAINER into: Column1 PP Fabrics PP/HDCE Fabrics Container Thanks
- 2 years ago
Hi, this will work with sample data, but I'm affraid that it won't solve your issue whit other texts
Result
Add this as custom column. Replace Source with your previous_step reference and [Column1] with your column with such text
= Table.AddColumn(Source, "Transformed", each [ a = List.RemoveMatchingItems(Text.SplitAny([Column1], " -"), {" ", ""}), b = List.Distinct(List.Transform(a, (x)=> if Text.Contains(x, "/") or Text.Length(x) < 3 then x else Text.Proper(x))), c = Text.Combine(b, " ") ][c], type text)Whole Code
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCghQcHN0CvJ0DlbQVQBxEpOKMpOLlWJ1QHL6Hi7OrnAFYEFnf78QR08/1yAgNxYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]), Ad_Transformed = Table.AddColumn(Source, "Transformed", each [ a = List.RemoveMatchingItems(Text.SplitAny([Column1], " -"), {" ", ""}), b = List.Distinct(List.Transform(a, (x)=> if Text.Contains(x, "/") or Text.Length(x) < 3 then x else Text.Proper(x))), c = Text.Combine(b, " ") ][c], type text) in Ad_Transformed
dufoq3
Community Champion
2 years agoHi, this will work with sample data, but I'm affraid that it won't solve your issue whit other texts
Result
Add this as custom column. Replace Source with your previous_step reference and [Column1] with your column with such text
= Table.AddColumn(Source, "Transformed", each
[ a = List.RemoveMatchingItems(Text.SplitAny([Column1], " -"), {" ", ""}),
b = List.Distinct(List.Transform(a, (x)=> if Text.Contains(x, "/") or Text.Length(x) < 3 then x else Text.Proper(x))),
c = Text.Combine(b, " ")
][c], type text)
Whole Code
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCghQcHN0CvJ0DlbQVQBxEpOKMpOLlWJ1QHL6Hi7OrnAFYEFnf78QR08/1yAgNxYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
Ad_Transformed = Table.AddColumn(Source, "Transformed", each
[ a = List.RemoveMatchingItems(Text.SplitAny([Column1], " -"), {" ", ""}),
b = List.Distinct(List.Transform(a, (x)=> if Text.Contains(x, "/") or Text.Length(x) < 3 then x else Text.Proper(x))),
c = Text.Combine(b, " ")
][c], type text)
in
Ad_Transformed