Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

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...
  • Mariusz's avatar
    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.
    Mariusz Repczynski