I would like to clean a column Header of the table so that my column header that has a name like below:
- [Space][Space][Space]First Name[Space][Space]
- [Space]MaintActType[Space]
- TECO date[Space]
- FIN Date
- ABC indicator
- COGS
- Created On
And my desired Column Header Name to be like below:
- First Name
- Main Act Type
- TECO Date
- FIN Date
- ABC Indicator
- COGS
- Created On
my code is as below:
let Source = Excel.Workbook(File.Contents("C:\RawData\sample.xlsx"), null, true), #"sample_Sheet" = Source{[Item="sample",Kind="Sheet"]}[Data], #"Promoted Headers" = Table.PromoteHeaders(#"sample_Sheet", [PromoteAllScalars=true]), #"Trim ColumnSpace" = Table.TransformColumnNames(#"Promoted Headers", Text.Trim), #"Split CapitalLetter" = Table.TransformColumnNames(#"Trim ColumnSpace", each Text.Combine(Splitter.SplitTextByPositions(Text.PositionOfAny(_, {"A".."Z"},2)) (_), " ")), #"Remove DoubleSpace" = Table.TransformColumnNames(#"Split CapitalLetter", each Replacer.ReplaceText(_, " ", " ")), #"Capitalise FirstLetter" = Table.TransformColumnNames(#"Remove DoubleSpace", Text.Proper), #"Remove Space" = Table.TransformColumnNames(#"Capitalise FirstLetter", each Text.Remove(_, {" "})), #"Separate ColumnName" = Table.TransformColumnNames(#"Remove Space", each Text.Combine(Splitter.SplitTextByCharacterTransition({"a".."z"}, {"A".."Z"}) (_), " "))in #"Separate ColumnName"
However, i get the result as below. Which is not what i wanted as all the capital letter we combined together. How do i change the code so that i get the result as wanted? I would really appreciate your help, please.
- First Name
- Main Act Type
- TECODate
- FINDate
- ABCIndicator
- COGS
- Created On
Alternatively, i changed the code to:
let Source = Excel.Workbook(File.Contents("C:\RawData\sample.xlsx"), null, true), #"sample_Sheet" = Source{[Item="sample",Kind="Sheet"]}[Data], #"Promoted Headers" = Table.PromoteHeaders(#"sample_Sheet", [PromoteAllScalars=true]), #"Trim ColumnSpace" = Table.TransformColumnNames(Input, Text.Trim), #"Separate ColumnName" = Table.TransformColumnNames(#"Trim ColumnSpace", each Text.Combine(Splitter.SplitTextByCharacterTransition({"a".."z"}, {"A".."Z"}) (_), " ")), #"Capitalise FirstLetter" = Table.TransformColumnNames(#"Separate ColumnName", Text.Proper) in #"Capitalise FirstLetter"
Unfortunately it return the result like so:
- First Name
- Main Act Type
- Teco Date
- Fin Date
- Abc Indicator
- COGS
- Created On
I have no idea how to play around the code anymore.