【问题标题】:Need help in T SQL query in Azure Stream Analytics在 Azure 流分析中的 T SQL 查询中需要帮助
【发布时间】:2017-07-11 12:12:30
【问题描述】:

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

我可以通过使用casesum 语句来做到这一点,但是我有很多国家和问题(L3),所以我可以使用任何枢轴选项吗?

【问题讨论】:

    标签: tsql azure-stream-analytics


    【解决方案1】:

    您可以使用如下方式查询:

    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
    

    【讨论】:

    • 谢谢你,但我有 L3 和国家的组合数,所以 R 程序中是否有类似 Shape 的方法,我可以用公式得到?
    【解决方案2】:

    最灵活的方法是使用 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,参见这篇博文Using Azure Stream Analytics JavaScript UDF to lookup values in JSON array

    【讨论】:

    • 感谢您的解决方案,但是,我对 JAVA 的了解为零,所以如果我使用 T sql 会更好,我在 R 程序中但在 TSQL 中寻找类似 CAST 的函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2011-04-03
    • 1970-01-01
    相关资源
    最近更新 更多