由于表单的设置方式,每次用户填写表单时,不同的季度信息都会存储在一行中。出于数据分析目的和简单起见,我想“转置和合并”具有相同信息的列。在本例中,所有列都包含**季度**信息和**值**信息。
我有下表:
交易 | 第一季度 | 第二季度 | 第三季度 | 第一季度价值 | 第二季度价值 | 第三季度价值 |
---|---|---|---|---|---|---|
一个 | 第二季度 | 第三季度 | 无效的 | 100美元 | 200美元 | 无效的 |
乙 | 问题 1 | 第二季度 | 第三季度 | 50美元 | 30美元 | 40美元 |
我想要转置“季度”列及其各自的值并输出以下内容:
交易 | 四分之一 | 价值 |
---|---|---|
一个 | 第二季度 | 100美元 |
一个 | 第三季度 | 100美元 |
一个 | 无效的 | 无效的 |
乙 | 问题 1 | 50美元 |
乙 | 第二季度 | 30美元 |
乙 | 第三季度 | 40美元 |
我尝试过转置列但结果却变得混乱且多行。
另一种可能更有效的方法是
Attribute
列以仅显示Quarter
和Value
后一步的问题在于,使用 PQ 中常见的 Pivot 操作会导致错误。但是,此自定义函数避免了该问题。
将以下代码粘贴到高级编辑器中的空白查询中,并将其重命名为
fnPivotNoAggregation
自定义函数
然后使用以下主代码:
主代码
原始数据

结果

注意:不使用自定义函数也可以做到这一点,但执行时间会更长一些。
你当然可以测试两者,并确定哪种方法更适合你的实际数据
您可以通过结合使用逆透视和分组来实现: