代码之家  ›  专栏  ›  技术社区  ›  Praveen Reddy

避免在查询中多次运行函数

  •  0
  • Praveen Reddy  · 技术社区  · 7 年前

    Application Insights 我在哪里运行 parsejson 在同一查询中多次运行。

    是否可以重用来自 parsejson()

    EventLogs
    | where Timestamp > ago(1h)  
            and tostring(parsejson(tostring(Data.JsonLog)).LogId) =~ '567890'
    |   project Timestamp, 
        fileSize = toint(parsejson(tostring(Data.JsonLog)).fileSize),  
        pageCount = tostring(parsejson(tostring(Data.JsonLog)).pageCount)
    | limit 10
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   EranG    7 年前

    您可以使用 extend 为此:

    EventLogs
    | where Timestamp > ago(1h)
    | extend JsonLog = parsejson(tostring(Data.JsonLog)
    | where tostring(JsonLog.LogId) =~ '567890'
    |   project Timestamp, 
        fileSize = toint(JsonLog.fileSize),  
        pageCount = tostring(JsonLog.pageCount)
    | limit 10