<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Get multiple substrings and create a new row in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2842106#M39258</link>
    <description>&lt;P&gt;Your solution is good for the majority of cases therefore I accepted your solution as an answer.&lt;/P&gt;&lt;P&gt;For other readers intrest I will also post the solution that I ended up using:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I didn't solve anything in in PowerBI, instead I used an SQL query when I loaded my data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. To prepare my data for pattern matching I removed (replaced) all "," " " 'tab' and newline with ",". I did this by extracting my data off intrest into a temporary table. Then I used Split_String() with delemiter "," to get a table where each "word" was in&amp;nbsp; its own row.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. To dynamicaly extract the information I need, I used LIKE funktion.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This gave me a table with only&amp;nbsp;&lt;SPAN&gt;Y19-421 in powerbi.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 14 Oct 2022 09:47:33 GMT</pubDate>
    <dc:creator>AndreasAh</dc:creator>
    <dc:date>2022-10-14T09:47:33Z</dc:date>
    <item>
      <title>Get multiple substrings and create a new row</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2834513#M39190</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a table (report table) that contains a column with a large text including multiple substrings that I would like to extract and create a new row in a different table (extract table).&lt;/P&gt;&lt;P&gt;My substring always have the same length and is based on a sequence so its easy to find.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To illustrate values in my report table:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Report column (with report id 1)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;"The grey fox crossed the road at midnight. It was dark and cold, Y19-421, Y21-002 and Y22-317.&lt;/P&gt;&lt;P&gt;Next the ducks crossed the road."&lt;/P&gt;&lt;P&gt;&lt;EM&gt;The string is very long (+2000 chars) and will contain different types of chars (letters, special chars like =, &amp;gt; and ;). Example of a substring: Y22-123&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to extract these substrings into a table:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Report ID&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Substring&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Substring1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Substring2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do you have any good suggestion of how to do that?&lt;/P&gt;</description>
      <pubDate>Wed, 12 Oct 2022 08:47:30 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2834513#M39190</guid>
      <dc:creator>AndreasAh</dc:creator>
      <dc:date>2022-10-12T08:47:30Z</dc:date>
    </item>
    <item>
      <title>Re: Get multiple substrings and create a new row</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2836067#M39206</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/454860"&gt;@AndreasAh&lt;/a&gt;&amp;nbsp;，&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If your substring in same ID is separated by commas, here I suggest you to try Split Column by Delimiter"," by rows.&lt;/P&gt;
&lt;P&gt;For reference:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/power-query/split-columns-delimiter" target="_self"&gt;Split columns by delimiter&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;My Sample:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_0-1665561092894.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/802423i22CC1D053FFCD4C5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_0-1665561092894.png" alt="RicoZhou_0-1665561092894.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_1-1665561297627.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/802424i1821EC653BE669F1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_1-1665561297627.png" alt="RicoZhou_1-1665561297627.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Result is as below.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_2-1665561316555.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/802425i1DC1D5BEDB19DC07/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_2-1665561316555.png" alt="RicoZhou_2-1665561316555.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Rico Zhou&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Oct 2022 07:56:29 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2836067#M39206</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2022-10-12T07:56:29Z</dc:date>
    </item>
    <item>
      <title>Re: Get multiple substrings and create a new row</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2836212#M39208</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN&gt;Rico Zhou,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I realiezed that my post was not clear enough so I've updated it. Will your solution work for the following example:&lt;/P&gt;&lt;P&gt;"The grey fox crossed the road at midnight. It was dark and cold, Y19-421, Y21-002 and Y22-317.&lt;/P&gt;&lt;P&gt;Next the ducks crossed the road."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To my understanding I will get the following table:&lt;/P&gt;&lt;P&gt;The grey fox crossed the road at midnight. It was dark and cold&lt;/P&gt;&lt;P&gt;Y19-421&lt;/P&gt;&lt;P&gt;Y21-002 and Y22-317. Next the ducks crossed the road."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards&lt;BR /&gt;Andreas&lt;/P&gt;</description>
      <pubDate>Wed, 12 Oct 2022 08:48:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2836212#M39208</guid>
      <dc:creator>AndreasAh</dc:creator>
      <dc:date>2022-10-12T08:48:35Z</dc:date>
    </item>
    <item>
      <title>Re: Get multiple substrings and create a new row</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2839232#M39239</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/454860"&gt;@AndreasAh&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My Sample:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_5-1665654025584.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/803298i8D2D9A074DD16C06/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_5-1665654025584.png" alt="RicoZhou_5-1665654025584.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Here I suggest you to add a special delimiter that not contained in your orginal table like “+” before "Y".&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_0-1665653781458.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/803291i10A4732C4A2898F9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_0-1665653781458.png" alt="RicoZhou_0-1665653781458.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Then &lt;SPAN&gt;Split Column by Delimiter"+" by rows.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_2-1665653877951.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/803294i1DBEC5D61C72F03C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_2-1665653877951.png" alt="RicoZhou_2-1665653877951.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Then add a custom column to check whether your row contains "-"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_1-1665653863482.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/803293i31336143EE6BD3B8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_1-1665653863482.png" alt="RicoZhou_1-1665653863482.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Filter "True" in Custom column&amp;gt; Replace " "(space) by nothing. Spliter by position 7 by rows.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_3-1665653966760.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/803296i7132EA3C71F728B8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_3-1665653966760.png" alt="RicoZhou_3-1665653966760.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Finally remove some columns you don't need. Result is as below.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RicoZhou_4-1665654010800.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/803297i9CADF741ABBF1E0C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RicoZhou_4-1665654010800.png" alt="RicoZhou_4-1665654010800.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Whole M code:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("ZY6xCsIwGIRf5cjchP5/FHHUzcXJpZQOoYltqW0giVjf3lCLi9txx313dS1IFOLWO3TBvXH3C9rgY3QWKZvBGwuTMA12Hro+KVwSXibCmjDCzBatf9gCFR3ljikLJlmWvEYVs9R0ULi6Ja04+2zH+DegRFPUgvOPE4b5W2OCDxuBFc6/QOuNrSXpfa42Hw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Report ID" = _t, Substring = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Report ID", Int64.Type}, {"Substring", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","Y","+Y",Replacer.ReplaceText,{"Substring"}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Replaced Value", {{"Substring", Splitter.SplitTextByDelimiter("+", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Substring"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Substring", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Text.Contains([Substring],"-")),
    #"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = true)),
    #"Replaced Value1" = Table.ReplaceValue(#"Filtered Rows"," ","",Replacer.ReplaceText,{"Substring"}),
    #"Split Column by Position" = Table.SplitColumn(#"Replaced Value1", "Substring", Splitter.SplitTextByRepeatedLengths(7), {"Substring.1", "Substring.2"}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Position",{{"Substring.1", type text}, {"Substring.2", type text}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type2",{"Substring.2", "Custom"})
in
    #"Removed Columns"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Rico Zhou&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2022 09:41:16 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2839232#M39239</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2022-10-13T09:41:16Z</dc:date>
    </item>
    <item>
      <title>Re: Get multiple substrings and create a new row</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2842106#M39258</link>
      <description>&lt;P&gt;Your solution is good for the majority of cases therefore I accepted your solution as an answer.&lt;/P&gt;&lt;P&gt;For other readers intrest I will also post the solution that I ended up using:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I didn't solve anything in in PowerBI, instead I used an SQL query when I loaded my data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. To prepare my data for pattern matching I removed (replaced) all "," " " 'tab' and newline with ",". I did this by extracting my data off intrest into a temporary table. Then I used Split_String() with delemiter "," to get a table where each "word" was in&amp;nbsp; its own row.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. To dynamicaly extract the information I need, I used LIKE funktion.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This gave me a table with only&amp;nbsp;&lt;SPAN&gt;Y19-421 in powerbi.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Oct 2022 09:47:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Get-multiple-substrings-and-create-a-new-row/m-p/2842106#M39258</guid>
      <dc:creator>AndreasAh</dc:creator>
      <dc:date>2022-10-14T09:47:33Z</dc:date>
    </item>
  </channel>
</rss>

