【发布时间】: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 仪表板中有一个 json 对象,如下所示:
{...,'信号':'0.0',...}
其中 Signal 可以采用 0.0 表示 No 和 1.0 表示 Yes 的值。我希望使用 Kusto 将这些值转换为“是”和“否”。我尝试执行以下操作,但它不起作用:
|扩展信号 = tostring(replace(@"0.0",@"No",object['Signal']))
我该如何解决这个问题?
【问题讨论】:
如果要重新创建动态值,将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 |
【讨论】:
这是一个例子:
datatable(d:dynamic)[dynamic({'Signal':'0.0'})]
| extend Signal = replace('0.0', 'Yes',tostring(d.Signal))
【讨论】: