SQL与Power BI/Query:透视Reference Type列并保留关联列
可以实现,以下是具体方法
Power Query操作步骤(已导入数据后)
- 打开Power Query编辑器,确认数据里XMLID和其他关联列(如截图中的非Reference系列列)都保留着
- 选中
Reference Type和Reference Value两列 - 点击顶部「转换」选项卡的透视列按钮
- 在弹出的设置窗口里,把「值列」选成
Reference Value - 如果存在同一个XMLID对应同一个Reference Type有多条值的情况,选合适的聚合方式(比如取第一个值、去重等,根据数据逻辑选择)
- 在弹出的设置窗口里,把「值列」选成
- 完成后,所有Reference Type的取值会变成独立列,对应的Reference Value会填充到对应列中,XMLID和其他关联列会自动保留,每条XMLID对应一行完整数据
可选:SQL查询阶段直接预处理
如果想在导入Power BI前就得到透视结果,仅用查询权限就能写SQL实现(以SQL Server为例):
SELECT XMLID, -- 替换成你的实际关联列 ColumnX, ColumnY, -- 替换成你需要的Reference Type值 MAX(CASE WHEN [Reference Type] = 'OrderID' THEN [Reference Value] END) AS OrderID, MAX(CASE WHEN [Reference Type] = 'CustomerID' THEN [Reference Value] END) AS CustomerID, MAX(CASE WHEN [Reference Type] = 'InvoiceNo' THEN [Reference Value] END) AS InvoiceNo FROM YourTableName GROUP BY XMLID, ColumnX, ColumnY
执行这个查询后,直接把结果导入Power BI即可,省去后续透视步骤。
内容的提问来源于stack exchange,提问作者T. Hughes
相关产品推荐
相关产品推荐

