改变BigQuery中表的方向



我有一个从电子病历系统(EMRS)中提取的数据集[脂质]。在该EMRS中,医生命令从具有唯一订单号BUT的患者获取实验室血液图谱。使用不同的服务类型。因此,如果一个订单有4种服务类型,EMRS将在4行上记录事件(Order_no列中的相同[重复]订单号,BUT在Service_type列中使用不同的服务类型),如:

<表类> Order_no Service_type 结果 tbody><<tr>1TC2301高密度脂蛋白401TG1501低密度脂蛋白90

使用下面的方法

select * from your_table
pivot (any_value(Result) for Service_type in ('TC', 'HDL', 'TG', 'LDL'))    

如果事先不知道服务类型,可以在

下面使用
execute immediate (select '''
select * from your_table
pivot (any_value(Result) for Service_type in (''' || string_agg(distinct "'" || Service_type || "'") || 
"))"
from your_table
)

您可以使用PIVOT

的例子:

WITH your_table AS 
( 
SELECT 1 AS Order_no, 'TC' AS Service_type, 230 AS Result
UNION ALL
SELECT 1, 'HDL', 40
UNION ALL
SELECT 1, 'TG', 150
UNION ALL
SELECT 1, 'LDL', 90
)
SELECT *
FROM your_table PIVOT(SUM(Result) FOR Service_type IN ('TC', 'HDL', 'TG', 'LDL'))

相关内容

  • 没有找到相关文章

最新更新