

# 使用“反转置列为行”转换
<a name="transforms-unpivot-columns-to-rows"></a>

 **反转置**转换将列转换为新列的值，为每个唯一值生成一行。它与转置相反，但请注意，它并不等效，因为它无法将聚合的具有相同值的行分隔开来，也无法将组合拆分为原始列（您可以稍后使用拆分转换来做到这一点）。例如，如果您具有以下表：


| 年 | 月 | de | uk | us | 
| --- | --- | --- | --- | --- | 
| 2020 | Jan | 42 | 32 | 64 | 
| 2020 | Feb | 11 | 67 | 18 | 
| 2021 | Jan |  |  | 90 | 

 您可以将“de”、“uk” 和“us”列反转置为值为“金额”的“国家/地区”列中，然后得到以下内容（出于说明起见，此处排序）：


| 年 | 月 | country | 量 | 
| --- | --- | --- | --- | 
| 2020 | Jan | uk | 32 | 
| 2020 | Jan | de | 42 | 
| 2020 | Jan | us | 64 | 
| 2020 | Feb | uk | 67 | 
| 2020 | Feb | de | 11 | 
| 2020 | Feb | us | 18 | 
| 2021 | Jan | us | 90 | 

 请注意，默认情况下不会生成具有空值的列（“de”和“2021 年 1 月的 uk”）。您可以启用该选项以获得：


| 年 | 月 | country | 量 | 
| --- | --- | --- | --- | 
| 2020 | Jan | uk | 32 | 
| 2020 | Jan | de | 42 | 
| 2020 | Jan | us | 64 | 
| 2020 | Feb | uk | 67 | 
| 2020 | Feb | de | 11 | 
| 2020 | Feb | us | 18 | 
| 2021 | Jan | us | 90 | 
| 2021 | Jan | de |  | 
| 2021 | Jan | uk |  | 

**要添加“反转置列为行”转换，请执行以下操作：**

1. 打开资源面板，然后选择**反转置列为行**将新转换添加到作业图。添加节点时选择的节点将是其父节点。

1. （可选）在**节点属性**选项卡上，输入任务图中节点的名称。如果尚未选择父节点，请从 Node parents (父节点) 列表中选择一个节点，用作转换的输入源。

1. 在**转换**选项卡上，输入要创建的新列，以保存选择反转置的列的名称和值。  
![\[屏幕截图显示了“反转置列为行”转换的“转换”选项卡。\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/transforms-unpivot-columns-to-rows-transform-tab.png)