<?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: Combining Columns to create Main Columns in Power Query</title>
    <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870368#M127635</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="731703" data-lia-user-login="irfan_abdrhman" class="lia-mention lia-mention-user"&gt;irfan_abdrhman&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;for future requests provide sample data in usable format (not as a screenshot). If you don't know how to do it - read note below my post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you don't know how to use my query, also read Note below my post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("dZDBCsMgDIZfRTy3JUbt2LFQKUL14NpdpO//GovWUgsONIlJ/H5jjFzwjuuBiYEhoKLDOm0m2M2cIVkBQHYJ09esFCA4l5yGVrOm7ay3fmHz/kkZV7wEfnSRYybWgu121Co9be/nMFlP0QinsFbwyAu8CplWVpKSRQr/z4YS69neBSUE3qgHU+Vqzbxfct0eyye0xnqhbJGPHw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"MRDO NO" = _t, #"MRDO DATE" = _t, #"Material 1" = _t, #"Type/Grade 1" = _t, #"Quantity Delivered 1" = _t, #"Material 2" = _t, #"Type/Grade 2" = _t, #"Quantity Delivered 2" = _t, #"Material 3" = _t, #"Type/Grade 3" = _t, #"Quantity Delivered 3" = _t, #"Material 4" = _t, #"Type/Grade 4" = _t, #"Quantity Delivered 4" = _t]),
    Transformed = [ a = Table.ColumnNames(Source),
    b = List.Select(a, (x)=&amp;gt; Text.StartsWith(x, "Material")),
    c = List.FirstN(a, 2),
    d = Table.RemoveColumns(Source, c),
    e = List.TransformMany(
            Table.ToRows(Source),
            each List.Split(List.Skip(_, 2), List.Count(List.RemoveMatchingItems(a, c)) / List.Count(b)),
            (x,y)=&amp;gt; List.FirstN(x, 2) &amp;amp; y ),
    f = List.Transform({ 0..List.PositionOf(a, List.Skip(b){0}) -1 }, (x)=&amp;gt; a{x}),
    g = Table.FromRows(e, Value.Type(Table.SelectColumns(Source, f)))
  ][g],
    ChangedType = Table.TransformColumns(Transformed, {
        {"MRDO NO", each Text.PadStart(Text.From(_), 3, "0"), type text},
        {"MRDO DATE", each Date.ToText(Date.From(_), [Format="d-MMM-yy", Culture="en-US"]), type text} })
in
    ChangedType&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 26 Apr 2024 08:00:26 GMT</pubDate>
    <dc:creator>dufoq3</dc:creator>
    <dc:date>2024-04-26T08:00:26Z</dc:date>
    <item>
      <title>Combining Columns to create Main Columns</title>
      <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3869839#M127623</link>
      <description>&lt;P&gt;The table below is the data that i have which can't be changed until is transformed into power query&lt;img /&gt;&lt;/P&gt;&lt;P&gt;What I want it to become is the columns become Material, Type/Grade, Quantity Delivered and other columns like MRDO NO, MRDO DATE is populated. Inside Material has columns : Material 1, Material 2, Material 3,... Material 10, and same goes to Type/Grade and Quantity Delivered and i want them to match in a row where each row has the correct MRDO NO, MRDO DATE , MATERIAL (n), Type/Grade (n), and Quantity Delivered (n) where (n) is the same number per row. Below is the expected outcome&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;May I know if this is workable, and the possible workaround(s), Thank you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 03:26:02 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3869839#M127623</guid>
      <dc:creator>irfan_abdrhman</dc:creator>
      <dc:date>2024-04-26T03:26:02Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Columns to create Main Columns</title>
      <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870181#M127629</link>
      <description>&lt;P&gt;i don't see Requestor and Delivery Location columns in original image so we go w/o these columns&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;    lst = Table.ToList(
        your_table, 
        (w) =&amp;gt; List.TransformMany(
            {w},
            (x) =&amp;gt; List.Split(List.Skip(List.RemoveNulls(x), 2), 3),
            (x, y) =&amp;gt; List.FirstN(x, 2) &amp;amp; y
        )
    ),
    tbl = Table.FromList(
        List.Combine(lst), 
        each _, 
        {"MRDO NO", "MRDO DATE", "Material", "Type/Grade", "Quantity Delivered"}
    )&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 26 Apr 2024 06:38:16 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870181#M127629</guid>
      <dc:creator>AlienSx</dc:creator>
      <dc:date>2024-04-26T06:38:16Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Columns to create Main Columns</title>
      <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870255#M127630</link>
      <description>&lt;P&gt;May I know where do I insert that in?&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 07:02:36 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870255#M127630</guid>
      <dc:creator>irfan_abdrhman</dc:creator>
      <dc:date>2024-04-26T07:02:36Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Columns to create Main Columns</title>
      <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870367#M127634</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="731703" data-lia-user-login="irfan_abdrhman" class="lia-mention lia-mention-user"&gt;irfan_abdrhman&lt;/a&gt;&amp;nbsp;&lt;A href="https://community.fabric.microsoft.com/t5/Webinars-and-Video-Gallery/Power-BI-Forum-Help-How-to-integrate-M-code-into-your-existing/m-p/179314" target="_self"&gt;watch this&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 07:47:41 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870367#M127634</guid>
      <dc:creator>AlienSx</dc:creator>
      <dc:date>2024-04-26T07:47:41Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Columns to create Main Columns</title>
      <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870368#M127635</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="731703" data-lia-user-login="irfan_abdrhman" class="lia-mention lia-mention-user"&gt;irfan_abdrhman&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;for future requests provide sample data in usable format (not as a screenshot). If you don't know how to do it - read note below my post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you don't know how to use my query, also read Note below my post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("dZDBCsMgDIZfRTy3JUbt2LFQKUL14NpdpO//GovWUgsONIlJ/H5jjFzwjuuBiYEhoKLDOm0m2M2cIVkBQHYJ09esFCA4l5yGVrOm7ay3fmHz/kkZV7wEfnSRYybWgu121Co9be/nMFlP0QinsFbwyAu8CplWVpKSRQr/z4YS69neBSUE3qgHU+Vqzbxfct0eyye0xnqhbJGPHw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"MRDO NO" = _t, #"MRDO DATE" = _t, #"Material 1" = _t, #"Type/Grade 1" = _t, #"Quantity Delivered 1" = _t, #"Material 2" = _t, #"Type/Grade 2" = _t, #"Quantity Delivered 2" = _t, #"Material 3" = _t, #"Type/Grade 3" = _t, #"Quantity Delivered 3" = _t, #"Material 4" = _t, #"Type/Grade 4" = _t, #"Quantity Delivered 4" = _t]),
    Transformed = [ a = Table.ColumnNames(Source),
    b = List.Select(a, (x)=&amp;gt; Text.StartsWith(x, "Material")),
    c = List.FirstN(a, 2),
    d = Table.RemoveColumns(Source, c),
    e = List.TransformMany(
            Table.ToRows(Source),
            each List.Split(List.Skip(_, 2), List.Count(List.RemoveMatchingItems(a, c)) / List.Count(b)),
            (x,y)=&amp;gt; List.FirstN(x, 2) &amp;amp; y ),
    f = List.Transform({ 0..List.PositionOf(a, List.Skip(b){0}) -1 }, (x)=&amp;gt; a{x}),
    g = Table.FromRows(e, Value.Type(Table.SelectColumns(Source, f)))
  ][g],
    ChangedType = Table.TransformColumns(Transformed, {
        {"MRDO NO", each Text.PadStart(Text.From(_), 3, "0"), type text},
        {"MRDO DATE", each Date.ToText(Date.From(_), [Format="d-MMM-yy", Culture="en-US"]), type text} })
in
    ChangedType&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 08:00:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870368#M127635</guid>
      <dc:creator>dufoq3</dc:creator>
      <dc:date>2024-04-26T08:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Columns to create Main Columns</title>
      <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870557#M127641</link>
      <description>&lt;P&gt;Hi, sorry for not providing sample data. Click &lt;A href="https://docs.google.com/spreadsheets/d/1EXCR2-EPG09gS1KrUb3VOFAuS1idBQo-HPc63cukkbg/edit?usp=sharing" target="_self"&gt;&lt;STRONG&gt;Here&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;for the sample data, please see the other sheets for the expected outcome as well.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 08:41:44 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3870557#M127641</guid>
      <dc:creator>irfan_abdrhman</dc:creator>
      <dc:date>2024-04-26T08:41:44Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Columns to create Main Columns</title>
      <link>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3871498#M127663</link>
      <description>&lt;P&gt;Expected Outcome 1&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Result&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;let
    Source = Excel.Workbook(File.Contents("C:\Downloads\PowerQueryForum\irfan_abdrhman\MRDO.xlsx"), null, true),
    #"Dashboard _Sheet" = Source{[Item="Dashboard ",Kind="Sheet"]}[Data],
    FilteredRows = Table.SelectRows(#"Dashboard _Sheet", each ([Column1] &amp;lt;&amp;gt; null)),
    PromotedHeaders = Table.PromoteHeaders(FilteredRows, [PromoteAllScalars=true]),
    Transformed = [ a = Table.ColumnNames(PromotedHeaders),
    b = List.Select(a, (x)=&amp;gt; Text.StartsWith(x, "Material")),
    c1 = {"MRDO NO", "MRDO DATE"},
    c2 = {"Requestor", "Delivery Location"},
    c3 = List.RemoveMatchingItems(a, c1 &amp;amp; c2),
    d = Table.SelectColumns(PromotedHeaders, c3),
    e = List.TransformMany(
            Table.ToRows(PromotedHeaders),
            each List.Split(List.RemoveLastN(List.Skip(_,2),2), List.Count(c3) / List.Count(b)),
            (x,y)=&amp;gt; List.FirstN(x, 2) &amp;amp; y &amp;amp; List.LastN(x, 2)),
    f = List.Transform({ 0..List.PositionOf(a, List.Skip(b){0}) -1 }, (x)=&amp;gt; a{x}),
    g = Table.FromRows(e, Value.Type(Table.SelectColumns(PromotedHeaders, f &amp;amp; c2))),
    h = Table.TransformColumnNames(g, (x)=&amp;gt; Text.Remove(x, {"0".."9"}))
  ][h],
    FilteredRows2 = Table.SelectRows(Transformed, each ([#"Material "] &amp;lt;&amp;gt; null)),
    ChangedType = Table.TransformColumns(FilteredRows2, {
        //{"MRDO NO", each Text.PadStart(Text.From(_), 3, "0"), type text},
        {"MRDO DATE", each Date.ToText(Date.From(_), [Format="d-MMM-yy", Culture="en-US"]), type text} })
in
    ChangedType&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 16:21:28 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Power-Query/Combining-Columns-to-create-Main-Columns/m-p/3871498#M127663</guid>
      <dc:creator>dufoq3</dc:creator>
      <dc:date>2024-04-26T16:21:28Z</dc:date>
    </item>
  </channel>
</rss>

