Forum Discussion
Anonymous
7 years agoNot applicable
Capitalize only first word
Hello, 1) In power query (Excel) I am trying to capitalize ONLY the first word for each row in a given column. I do not want to capitalize every word in the string using Text.Proper . In the power...
- 7 years ago
Hi Anonymous
Please see the M expression for the first part below, just split the column on the first left delimiter and then use Text.Proper next merge this columns back together.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKi5JLCpRKEmtKFGK1YlWSs1LgXJiAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [label = _t]), #"Split Column by Delimiter" = Table.SplitColumn(Source, "label", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"label.1", "label.2"}), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"label.1", type text}, {"label.2", type text}}), #"Capitalized Each Word" = Table.TransformColumns(#"Changed Type1",{{"label.1", Text.Proper, type text}}), #"Merged Columns" = Table.CombineColumns(#"Capitalized Each Word",{"label.1", "label.2"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"label") in #"Merged Columns"For the second bit, please can you provide bigger data sample?
Best Regards,
Mariusz
If this post helps, then please consider Accepting it as the solution.
Please feel free to connect with me.
TimoRiikonen
2 years agoAdvocate V
Here is one line code to capitalize the first letter of a column:
= Table.TransformColumns(#"Previous step",{{"Column name", each Text.Upper(Text.At(_,0)) & Text.Range(_, 1, Text.Length(_) - 1), type text}})
- alexddc241 year agoAdvocate II
This is great, thank you.