Powerbi Power BI将列转换为行

Powerbi Power BI将列转换为行,powerbi,Powerbi,因此,我有一个Excel文件,其中第一列是捐赠者,然后有10年金额和日期的成对列,如下所示: Donor Name 2019 Amt 2019 Date 2018 Amt 2018 Date 2017 Amt 2017 Date ------------- -------- ---------- -------- ---------- -------- ---------- Someone Here 50 08/21/2019 Someone Else 15

因此,我有一个Excel文件,其中第一列是捐赠者,然后有10年金额和日期的成对列,如下所示:

Donor Name    2019 Amt  2019 Date 2018 Amt  2018 Date 2017 Amt  2017 Date
------------- -------- ---------- -------- ---------- -------- ----------
Someone Here        50 08/21/2019
Someone Else       150 06/15/2019       75 05/04/2018
Another One                                                125 03/03/2017
我想要的是:

Donor Name   Amount       Date
------------ ------ ----------
Someone Here     50 08/21/2019
Someone Else    150 06/15/2019
Someone Else     75 05/04/2018
Another One     125 03/03/2017

当我刚刚取消填充除捐赠者姓名以外的列时,我会为每个条目获得成对的记录。它更接近我所寻找的,但不确定如何将其转化为上述内容。也许旋转不是答案?

您需要取消旋转这些列,然后将它们旋转回来

1) Unpivot
捐赠者姓名

= Table.UnpivotOtherColumns(#"Changed Type", {"Donor Name   "}, "Attribute", "Value")

2) 按空格分隔符或前4个字符拆分
属性
列(以后需要年份值)。确保标题名称中没有前导空格或尾随空格

= Table.SplitColumn(#"Unpivoted Other Columns", "Attribute",
                    Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv),
                    {"Attribute.1", "Attribute.2", "Attribute.3"})

3) 删除
Attribute.3
列,保留
Attribute.1
列,以防同一捐赠者的数据跨越数年(本例中为
其他人

4) 向后转。透视
属性.2
基于

= Table.Pivot(#"Removed Columns", 
              List.Distinct(#"Removed Columns"[Attribute.2]), "Attribute.2", "Value")

5) (可选)
Attribute.1
column,包含年份信息的列,现在可以根据需要删除

= Table.RemoveColumns(#"Pivoted Column",{"Attribute.1"})

太好了!非常感谢你。
= Table.RemoveColumns(#"Pivoted Column",{"Attribute.1"})