Forum Discussion
Reverse strings in extracted column
Hello everyone
I am totally new Power BI Desktop. I have connected PDF to extract table and everything is OK but one of the columns extracted is in Arabic letters and mixed numbers and the Arabic strings appeared reversed. So I am trying to reverse the strings (letters only not the numbers)
example:
10 مسا |
should be
اسم 10
so the text would be reversed not the number
Please guide me step by step as I am newbie (I want to apply the reverse to the whole column)
Hi YasserKhalill ,
Follow steps below to achieve your requirement .
1.Split this column.
2.Add column to reverse the string .
3.Merge column to combine the number column and reversed string column.
4.Remove the extra column.
The M code works.
Let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjRQuNl6Y/ON5UqxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}), #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Column1", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Column1.1", "Column1.2"}), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1.1", Int64.Type}, {"Column1.2", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Text.Reverse([Column1.2])), #"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Added Custom", {{"Column1.1", type text}}, "en-US"),{"Custom", "Column1.1"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"), #"Removed Columns" = Table.RemoveColumns(#"Merged Columns",{"Column1.2"}) in #"Removed Columns"You can download my test pbix: https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/EYQ6Zofxvn9KtidMbkwXv-kB-si6OPQaWa-D0qiJJ87M1g?e=EvNEvz .
Best Regards,
Amy
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
2 Replies
- v-xicaiCommunity Support
Hi YasserKhalill ,
Follow steps below to achieve your requirement .
1.Split this column.
2.Add column to reverse the string .
3.Merge column to combine the number column and reversed string column.
4.Remove the extra column.
The M code works.
Let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjRQuNl6Y/ON5UqxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}), #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Column1", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Column1.1", "Column1.2"}), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1.1", Int64.Type}, {"Column1.2", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Text.Reverse([Column1.2])), #"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Added Custom", {{"Column1.1", type text}}, "en-US"),{"Custom", "Column1.1"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"), #"Removed Columns" = Table.RemoveColumns(#"Merged Columns",{"Column1.2"}) in #"Removed Columns"You can download my test pbix: https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/EYQ6Zofxvn9KtidMbkwXv-kB-si6OPQaWa-D0qiJJ87M1g?e=EvNEvz .
Best Regards,
Amy
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- YasserKhalillNew Member
Thank you very much Amy for great help.