【问题标题】:How to replace value in json object to string using Kusto?如何使用 Kusto 将 json 对象中的值替换为字符串?
【发布时间】:2021-06-07 23:17:12
【问题描述】:

我在 Azure 仪表板中有一个 json 对象,如下所示:

{...,'信号':'0.0',...}

其中 Signal 可以采用 0.0 表示 No 和 1.0 表示 Yes 的值。我希望使用 Kusto 将这些值转换为“是”和“否”。我尝试执行以下操作,但它不起作用:

|扩展信号 = tostring(replace(@"0.0",@"No",object['Signal']))

我该如何解决这个问题?

【问题讨论】:

    标签: azure-data-explorer kql


    【解决方案1】:

    如果要重新创建动态值,将Signal 的值替换为"yes"/"no"

    您应该提取Signal的值,根据值将其转换为"yes"/"no",然后构造一个新的动态值,其中包含转换后的信号,以及原始动态值,像这样:

    datatable(d:dynamic)[
        dynamic({'Signal':'0.0','AnotherSignal':'0.0'}),
        dynamic({'Signal':'1.0','AnotherSignal':'0.0'})
    ]
    | project bag_merge(pack("Signal", iff(d.Signal == 0.0, "No", "Yes")), d)
    

    输出:

    Column1
    {
    "Signal": "No",
    "AnotherSignal": "0.0"
    }
    {
    "Signal": "Yes",
    "AnotherSignal": "0.0"
    }

    如果要提取Signal的值,替换为"yes"/"no"

    datatable(d:dynamic)[
        dynamic({'Signal':'0.0','AnotherSignal':'0.0'}),
        dynamic({'Signal':'1.0','AnotherSignal':'0.0'})
    ]
    | extend UpdatedSignal = iff(d.Signal == 0.0, "No", "Yes")
    
    d UpdatedSignal
    {
    "Signal": "0.0",
    "AnotherSignal": "0.0"
    }
    No
    {
    "Signal": "1.0",
    "AnotherSignal": "0.0"
    }
    Yes

    【讨论】:

      【解决方案2】:

      这是一个例子:

      datatable(d:dynamic)[dynamic({'Signal':'0.0'})]
      | extend Signal = replace('0.0', 'Yes',tostring(d.Signal))
      

      【讨论】:

        猜你喜欢
        • 2021-12-23
        • 2016-11-22
        • 1970-01-01
        • 2022-06-15
        • 1970-01-01
        • 2018-06-09
        • 2018-01-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多