<?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: Extracting part of a string - before, after and in between characters in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2712340#M82443</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="74864" data-lia-user-login="onedayover" class="lia-mention lia-mention-user"&gt;onedayover&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;If you wish to create a new column using dax you can use the following code (attached sample file)&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;img /&gt;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;new_source_id = 
VAR Digits = SELECTCOLUMNS ( GENERATESERIES ( 0, 9, 1 ), "@Digit", [Value] &amp;amp; "" )
VAR String = Data[source_id]
VAR Items1 = SUBSTITUTE ( String, "_", "|" )
VAR Items2 = SUBSTITUTE ( Items1, "-", "|" )
VAR Length = PATHLENGTH ( Items2 )
VAR T1 = GENERATESERIES ( 1, Length, 1 )
VAR T2 = ADDCOLUMNS ( T1, "@Item", PATHITEM ( Items2, [Value] ) )
VAR T3 = 
    FILTER ( 
        T2,
        VAR Length2 = LEN ( [@Item] )
        VAR T4 = GENERATESERIES ( 1, Length2, 1 )
        VAR T5 = ADDCOLUMNS ( T4, "@Letter", MID ( [@Item], [Value], 1 ) )
        VAR T6 = FILTER ( T5, [@Letter] IN Digits )
        RETURN  
            COUNTROWS ( T6 ) &amp;gt; 1
    )
RETURN
    CONCATENATEX ( T3, [@Item], "-" )&lt;/LI-CODE&gt;</description>
    <pubDate>Fri, 19 Aug 2022 10:49:33 GMT</pubDate>
    <dc:creator>tamerj1</dc:creator>
    <dc:date>2022-08-19T10:49:33Z</dc:date>
    <item>
      <title>Extracting part of a string - before, after and in between characters</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2711384#M82385</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I have a table with a field "source_id". Can anyone help me with how to create a new column "new_source_id" extracting the data as it appears in the example below. Data will vary for each source id but this is pretty much all there is in terms of combinations:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;source_id&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;new_source_id&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_A1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_EAI_A_1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_sandbox&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0107-sandbox&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0107-imports&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0107-QTeachPD&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0107-teaching&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0107-profdev&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_0107&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_0107-imports&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_0107-sandbox&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_0107-teaching&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_0107-QTeachPD&lt;/TD&gt;&lt;TD&gt;0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2351-sandbox&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2351-imports&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2351-QTeachPD&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2351-teaching&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2351-profdev&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_2351&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_2351-imports&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_2351-sandbox&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_2351-teaching&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_2351-QTeachPD&lt;/TD&gt;&lt;TD&gt;2351&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A182-sandbox&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A182-imports&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A182-QTeachPD&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A182-teaching&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_A182&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_A182-imports&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_A182-sandbox&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_A182-teaching&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delete_A182-QTeachPD&lt;/TD&gt;&lt;TD&gt;A182&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0018-0107-profdev&lt;/TD&gt;&lt;TD&gt;0018-0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A092-A092-profdev&lt;/TD&gt;&lt;TD&gt;A092-A092&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thanks &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Aug 2022 02:54:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2711384#M82385</guid>
      <dc:creator>onedayover</dc:creator>
      <dc:date>2022-08-19T02:54:35Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting part of a string - before, after and in between characters</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2711496#M82393</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="74864" data-lia-user-login="onedayover" class="lia-mention lia-mention-user"&gt;onedayover&lt;/a&gt; , Try this code, paste this in a blank query in power bi, This will work only for numbers. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;let&lt;BR /&gt;Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("hZJRC4IwFIX/Suw5YRqRPQ7qobeC3kTEcpVQKirRz0/NbefqhV4c9/vGztkwikSmn7rVifLFUixEvLRkrw6JSma4SYvsUn4slr7cdMOwmNlzmyjPX1VZt82Mn846vT6Ou5loe54X95mo6vKW6TfyseC0EGAuHzVTGzVXBj13i2C17p9wWMwMOZS7epTDwVRAIyrc81g+Np0WAszlo2Zqo+bKoOduofww6OZhMTPkUO7qUQ4HUwGNrLD/Ow0GzOWgZuqh/hPKtpXSD73pf23Y7z5yG3jDx+2wTMTxFw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [source_id = _t, new_source_id = _t]),&lt;BR /&gt;#"Changed Type" = Table.TransformColumnTypes(Source,{{"source_id", type text}, {"new_source_id", type text}}),&lt;BR /&gt;#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "source_id", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"source_id.1", "source_id.2", "source_id.3"}),&lt;BR /&gt;#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"source_id.1", type text}, {"source_id.2", type text}, {"source_id.3", type text}}),&lt;BR /&gt;#"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type1", "source_id.1", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"source_id.1.1", "source_id.1.2", "source_id.1.3", "source_id.1.4"}),&lt;BR /&gt;#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"source_id.1.1", type text}, {"source_id.1.2", type text}, {"source_id.1.3", type text}, {"source_id.1.4", Int64.Type}}),&lt;BR /&gt;#"Added Custom" = Table.AddColumn(#"Changed Type2", "Custom", each Text.Combine ({if (try Number.FromText([source_id.1.1]) otherwise null) &amp;lt;&amp;gt; null then [source_id.1.1] else null ,&lt;BR /&gt;if (try Number.FromText([source_id.1.2]) otherwise null) &amp;lt;&amp;gt; null then [source_id.1.2] else null,&lt;BR /&gt;if (try Number.FromText([source_id.1.3]) otherwise null) &amp;lt;&amp;gt; null then [source_id.1.3] else null,&lt;BR /&gt;if (try Number.FromText([source_id.1.4]) otherwise null) &amp;lt;&amp;gt; null then [source_id.1.4] else null,&lt;BR /&gt;if (try Number.FromText([source_id.2]) otherwise null) &amp;lt;&amp;gt; null then [source_id.2] else null,&lt;BR /&gt;if (try Number.FromText([source_id.3]) otherwise null) &amp;lt;&amp;gt; null then [source_id.3] else null&lt;/P&gt;
&lt;P&gt;}, "-"))&lt;BR /&gt;in&lt;BR /&gt;#"Added Custom"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Aug 2022 04:27:10 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2711496#M82393</guid>
      <dc:creator>amitchandak</dc:creator>
      <dc:date>2022-08-19T04:27:10Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting part of a string - before, after and in between characters</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2712340#M82443</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="74864" data-lia-user-login="onedayover" class="lia-mention lia-mention-user"&gt;onedayover&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;If you wish to create a new column using dax you can use the following code (attached sample file)&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;img /&gt;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;new_source_id = 
VAR Digits = SELECTCOLUMNS ( GENERATESERIES ( 0, 9, 1 ), "@Digit", [Value] &amp;amp; "" )
VAR String = Data[source_id]
VAR Items1 = SUBSTITUTE ( String, "_", "|" )
VAR Items2 = SUBSTITUTE ( Items1, "-", "|" )
VAR Length = PATHLENGTH ( Items2 )
VAR T1 = GENERATESERIES ( 1, Length, 1 )
VAR T2 = ADDCOLUMNS ( T1, "@Item", PATHITEM ( Items2, [Value] ) )
VAR T3 = 
    FILTER ( 
        T2,
        VAR Length2 = LEN ( [@Item] )
        VAR T4 = GENERATESERIES ( 1, Length2, 1 )
        VAR T5 = ADDCOLUMNS ( T4, "@Letter", MID ( [@Item], [Value], 1 ) )
        VAR T6 = FILTER ( T5, [@Letter] IN Digits )
        RETURN  
            COUNTROWS ( T6 ) &amp;gt; 1
    )
RETURN
    CONCATENATEX ( T3, [@Item], "-" )&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 19 Aug 2022 10:49:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2712340#M82443</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-08-19T10:49:33Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting part of a string - before, after and in between characters</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2715248#M82646</link>
      <description>&lt;P&gt;Hi tamerj1, this is great work, thank you. Just one thing, how would I ensure that the leading zero isn't dropped in the new column? For example, row 4 the 107 should be 0107 as will all souce ids that start with 0.&lt;/P&gt;</description>
      <pubDate>Sun, 21 Aug 2022 21:48:58 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2715248#M82646</guid>
      <dc:creator>onedayover</dc:creator>
      <dc:date>2022-08-21T21:48:58Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting part of a string - before, after and in between characters</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2715432#M82661</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="74864" data-lia-user-login="onedayover" class="lia-mention lia-mention-user"&gt;onedayover&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;leading zero is never dropped in this solution. Row 4 originally does not contain a leading zero.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Aug 2022 01:49:30 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Extracting-part-of-a-string-before-after-and-in-between/m-p/2715432#M82661</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-08-22T01:49:30Z</dc:date>
    </item>
  </channel>
</rss>

