Power BI将列转换为行

巨化器

所以我有一个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)取消枢纽 Donor Name

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

在此处输入图片说明

2)Attribute用空格分隔符或前4个字符分隔列(稍后需要年份值)。确保标题名称中没有开头或结尾空格。

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

在此处输入图片说明

3)删除Attribute.3列,但是保留Attribute.1列,以防万一同一捐赠者的数据跨越了数年(Someone Else在此示例中)

= Table.RemoveColumns(#"Split Column by Delimiter",{"Attribute.3"})

在此处输入图片说明

4)旋转回来。枢轴Attribute.2依据Value

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

在此处输入图片说明

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

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

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章