【问题标题】:Is it possible to append part of table to the botton of same table in Power Query?是否可以在 Power Query 中将部分表附加到同一张表的底部?
【发布时间】:2020-08-27 00:32:32
【问题描述】:

我有一个结构如下的表格:

Year | Month | Item 1 | Type 1 | Value 1 | Cost 1 | Item 2 | Type 2 | Value 2 | Cost 2 | 
2020 |  Aug  |    A   |   AX   | Value A | Cost A |    B   |   BY   | Value B | Cost B | 
...  |  ...  |   ...  |   ...  |   ...   |   ...  |   ...  |   ...  |   ...   |   ...  | 

我想更改此表,使其看起来像:

Year | Month | Item  | Type  | Value   | Cost
2020 |  Aug  |   A   |   AX  | Value A | Cost A
2020 |  Aug  |   B   |   BY  | Value B | Cost B
etc...

由于它有很多行并且我有多个这样的表,我想在 Power Query 中执行此操作,但我还没有做到。所以我问这里是否有人知道它是否可能或如何做到。

我尝试在 Year 和 Month 之后对列进行反透视,然后再对它们进行透视,但最终得到了很多空值。

这是我设法做到的:

感谢您的帮助,对于粗糙的英语感到抱歉。

【问题讨论】:

    标签: powerbi powerquery


    【解决方案1】:

    这应该可以工作,假设源数据在 Table1 中,列和列标题名称已指定(Year, Month, ...)

    基本上...

    反透视

    添加索引

    在索引上使用数学以 4 计数(重复列的数量)

    按月和年分组,以及新修改的索引

    展开

    let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    UnpivotIt = Table.UnpivotOtherColumns(Source, {"Year", "Month"}, "Attribute", "Value"),
    RemoveAttribute = Table.RemoveColumns(UnpivotIt,{"Attribute"}),
    AddIndex = Table.AddIndexColumn(RemoveAttribute, "Index", 0, 1),
    // we have 4 columns of repeating data, so use 4 in row below
    Divide = Table.TransformColumns(AddIndex, {{"Index", each Number.IntegerDivide(_, 4), Int64.Type}}),
    Grouping = Table.Group(Divide,{"Index", "Year","Month"}, {{"Values", each Record.FromList([Value],{"Item","Type","Value","Cost"}), type record}}),
    RemoveIndex = Table.RemoveColumns(Grouping,{"Index"}),
    #"Expanded Values" = Table.ExpandRecordColumn(RemoveIndex , "Values", {"Item", "Type", "Value", "Cost"}, {"Item", "Type", "Value", "Cost"})
    in #"Expanded Values"
    

    【讨论】:

    • 谢谢,成功了!但是你能进一步解释一下“分组”部分吗?在这种情况下,我无法理解“Record.FromList”命令的作用。
    • 抱歉,不知道,只是在路上捡到的.. 分组时转换为记录而不是普通表。这几乎是唯一需要手动编辑代码的步骤
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2020-07-07
    相关资源
    最近更新 更多