Kustos bag_unpack 没有解压我的 json 字典字符串
Kustos bag_unpack does not unpack my json dictionary string
我有以下数据,我想在 Kusto 中将这些数据分成几列以访问字典条目的值:
这是我用来从图片中获取 table 的代码:
let latestVersionAndroid = toscalar(customEvents
| where client_OS contains "Android"
| summarize max(application_Version));
let releaseDateLatestAndroid = toscalar(customEvents
| where client_OS contains "Android" and application_Version contains latestVersionAndroid
| summarize min(timestamp));
customEvents
| where timestamp > releaseDateLatestAndroid
and name == 'Login'
and client_OS contains 'Android'
and application_Version == latestVersionAndroid
| project properties = customDimensions.Properties, application_Version
| evaluate bag_unpack(properties)
我认为最后一行会展开属性的内容并从中创建一个新的 table。
但正如您在图像中看到的那样,它只是显示与没有评估线相同的结果。
是不是因为在用作列名的键中有空格?
但是我除了 kusto 抛出异常,如果它因此无法完成操作?
是否有另一种方法可以提取 Kusto 中的数据以访问键的值?
非常感谢,
特立独行
可能会发生,因为看起来像 json 的“属性”实际上是一个字符串。如果是这种情况,您应该尝试将 json 当作字符串来解析,然后执行 bag_unpack。例如更改此行:
| project properties = customDimensions.Properties, application_Version
为此:
| project properties = parse_json(tostring(customDimensions.Properties)), application_Version
为了访问带有空格的列,您需要像这样将它们放在方括号中
| summarize count()
by application_Version, ["DW version"]
我有以下数据,我想在 Kusto 中将这些数据分成几列以访问字典条目的值:
这是我用来从图片中获取 table 的代码:
let latestVersionAndroid = toscalar(customEvents
| where client_OS contains "Android"
| summarize max(application_Version));
let releaseDateLatestAndroid = toscalar(customEvents
| where client_OS contains "Android" and application_Version contains latestVersionAndroid
| summarize min(timestamp));
customEvents
| where timestamp > releaseDateLatestAndroid
and name == 'Login'
and client_OS contains 'Android'
and application_Version == latestVersionAndroid
| project properties = customDimensions.Properties, application_Version
| evaluate bag_unpack(properties)
我认为最后一行会展开属性的内容并从中创建一个新的 table。 但正如您在图像中看到的那样,它只是显示与没有评估线相同的结果。 是不是因为在用作列名的键中有空格? 但是我除了 kusto 抛出异常,如果它因此无法完成操作? 是否有另一种方法可以提取 Kusto 中的数据以访问键的值?
非常感谢, 特立独行
可能会发生,因为看起来像 json 的“属性”实际上是一个字符串。如果是这种情况,您应该尝试将 json 当作字符串来解析,然后执行 bag_unpack。例如更改此行:
| project properties = customDimensions.Properties, application_Version
为此:
| project properties = parse_json(tostring(customDimensions.Properties)), application_Version
为了访问带有空格的列,您需要像这样将它们放在方括号中
| summarize count()
by application_Version, ["DW version"]