在Azure Stream Analytics中的T SQL查询中需要帮助

时间:2017-07-11 12:12:31

标签: tsql azure-stream-analytics

我正在使用Azure流分析作业进行数据流传输,该作业将使用T SQL查询。我有以下要求:

我可以使用casesum语句来完成,但我有很多国家/地区和问题(L3),那么我可以使用任何数据透视选项吗?

2 个答案:

答案 0 :(得分:0)

您可以使用pivot进行查询,如下所示:

Select * from (
    Select Co_nm, TimePeriod, CONCAT(L3, ISO_Cntry_Nm) as L3Country, [No of issues] 
        from #yourtable
        ) a
pivot (max([No of issues]) for L3Country in ([Issue 1Great Britain], [Issue 1India],[Issue 1America],[Issue 2Great Britain], [Issue 2India],[Issue 2America] ) ) p

答案 1 :(得分:0)

最灵活的方法是使用collect()获取事件数组,并将其传递给JavaScript UDF来进行数据透视。

WITH EventCollection AS 
(
  SELECT collect() AS allEvents
  FROM input TIMESTAMP BY timeperiod
  GROUP BY System.Timestamp
),
PivotRecord AS
(
  SELECT udf.getPivotRecord(allEvents) AS record
  FROM EventCollection 
)
SELECT record.*
INTO output
FROM PivotRecord

例如,处理数组的JavaScript UDF,请参阅此博客文章https://docs.djangoproject.com/en/1.11/ref/models/querysets/