问题描述
我再次问另一个与Kusto相关的问题(我真的希望在某个地方有完整的视频教程)。
我有一个summarize
语句,该语句为y轴生成两列,为x轴生成一列。
现在,我想重新标记x轴的列以显示一个字符串,该字符串也是我从数据库中获得的,并且已经放入let
变量中。
这基本上是这样的:
let android_col = strcat("Android: ",toscalar(customEvents
| where application_Version contains secondLatestVersionAndroid));
let iOS_col = strcat("iOS: ",toscalar(customEvents
| where application_Version contains secondLatestVersionIOS));
... some Kusto magic ...
| summarize
Android = 100 - (round((countif(hasUnhandledErrorAndroid == 1 ) * 100.0 ) / countif(isAndroid == 1),2)),iOS = 100 - (round((countif(hasUnhandledErroriOS == 1) * 100.0 ) / countif(isIOS == 1),2))
by Time
|render timechart with (ytitle="crashfree users in %",xtitle="date",legend=visible )
现在,我希望摘要显示不是Android和iOS,而是android_col和iOS_col的值。
有可能吗?
最好的问候 小牛
解决方法
通常,建议使用预定义的列名,否则各种功能将不起作用。例如,IntelliSense将不知道列的名称,因为它们只能在运行时确定。另外,如果您创建一个返回动态模式的函数,则将无法从其他群集中运行该函数。
但是,如果您确实想更改列名,则肯定可以使用各种插件来完成。例如bag_unpack,pivot等。
关于Kusto的课程,实际上有几本关于Pluralsight的优秀课程(全部都是免费的):
,此查询中“ toscalar”的用法看起来是错误的,在我看来,您应该使用具有相同逻辑的“ extend”运算符来创建其他列。