render 运算符

使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息。
适用于:✅ Azure 数据资源管理器 ✅ Azure Monitor ✅ Microsoft Sentinel

操作员 render 指示用户代理可视化查询结果。 它必须是查询中的最后一个运算符,并且仅适用于生成单个表格数据流的查询。

运算符不会修改数据。 而是将“可视化效果”注释添加到结果的扩展属性,其中包含查询中的可视化说明。 不同的用户代理(例如 Kusto.Explorer 或 Azure 数据资源管理器 Web UI)根据此信息解释和支持不同的可视化效果。

render 运算符的数据模型将表格数据视为具有下述三种列的数据:

  • X 轴列(由 xcolumn 属性指示)。
  • series 列(由 series 属性指示的任意数目的列。)对于每个记录,这些列的组合值定义单个系列,而图表的系列数量与非重复组合值的数量相同。
  • Y 轴列(由 ycolumns 属性指示的任意数目的列)。 对于每个记录,该系列都具有与 y 轴列一样多的度量(图表中的“点”)。

提示

  • 可使用 where、summarize 和 top 来限制显示的数据量。
  • 对数据进行排序以定义 x 轴的顺序。
  • 用户代理可以自由地“推测”查询未指定的属性的值。 需要特别注意的是,在结果架构中提高“不感兴趣的”列可能会导致推测错误。 如果出现这种情况,请尝试通过 project-away 运算符排除此类列。

注意

某些可视化效果仅在Azure 数据资源管理器仪表板中可用。 有关详细信息,请参阅特定于仪表板的视觉对象。

语法

T|render可视化效果 [with(propertyName=propertyValue [, ...])]

详细了解语法约定。

参数

客户 类型 必需 说明
T string ✔️ 输入表名称。
visualization string ✔️ 指示要使用的可视化效果的种类。 必须是以下列表中支持的值之一。
propertyName、propertyValue string 键值属性对的逗号分隔列表。 请参阅支持的属性。

可视化效果

visualization 说明 图示
anomalychart 类似于时间图,但使用 series_decompose_anomalies 函数突出显示异常。
areachart 面积图。
barchart 显示为水平条带。
card 第一个结果记录是一组标量值,并显示为卡片。
columnchart 像 barchart 一样,但带有竖直条带而不是水平条带。
ladderchart 最后两列是 x 轴,其他列是 y 轴。
linechart 折线图。
piechart 第一列是颜色轴,第二列是数字。
pivotchart 显示数据透视表和图表。 你可以通过交互方式选择数据、列、行和各种图表类型。
scatterchart 点图。
stackedareachart 堆积面积图。
table 默认设置 - 结果显示为表。
timechart 折线图。 第一列是 x 轴,必须是日期时间。 其他(数值)列是 y 轴。
timepivot 事件时间线上的交互式导航(在时间轴上透视)。
treemap 将分层数据显示为一组嵌套矩形。

注意

阶梯图、数据透视图、timepivot 和树状图可视化效果可以在 Kusto.Explorer 中使用,但在 Azure 数据资源管理器 Web UI 中不可用。

可视化 说明 图示
areachart 面积图。 第一列是 x 轴,应为数值列。 其他数值列是 y 轴。
barchart 第一列是 x 轴,可以是文本、日期/时间或数字。 其他列是数字列,显示为水平条带。
columnchart 像 barchart 一样,但带有竖直条带而不是水平条带。
piechart 第一列是颜色轴,第二列是数字。
scatterchart 点图。 第一列是 x 轴,应为数值列。 其他数值列是 y 轴。
table 默认设置 - 结果显示为表。
timechart 折线图。 第一列是 x 轴,应为日期时间。 其他(数值)列是 y 轴。 有一个字符串列,其值用来对数值列进行“分组”并在图表中创建不同的线条(忽略其他字符串列)。

支持的属性

PropertyNamePropertyValue 指示在呈现时要使用的其他信息。 所有属性都是可选的。 支持的属性如下:

PropertyName PropertyValue
accumulate 是否将每个度量的值加到其所有前导度量中。 (true 或 false)
kind 可视化效果种类的进一步细化。 有关详细信息,请参阅 kind property。
legend 是否显示图例(visible 或 hidden)。
series 以逗号分隔的列列表,其中的每记录值组合定义了记录所属的系列。
ymin 要在 Y 轴上显示的最小值。
ymax 要在 Y 轴上显示的最大值。
title 可视化效果的标题(string 类型)。
xaxis 如何缩放 x 轴(linear 或 log)。
xcolumn 结果中的哪一列用于 x 轴。
xtitle x 轴的标题(string 类型)。
yaxis 如何缩放 y 轴(linear 或 log)。
ycolumns 由逗号分隔的列列表,其中包含根据 x 列的值提供的值。
ysplit 如何将可视化效果拆分为多个 y 轴值。 有关详细信息,请参阅 y-split property。
ytitle y 轴的标题(string 类型)。
anomalycolumns 仅限与 anomalychart 相关的属性。 以逗号分隔的列列表,这些列被视为异常序列,并显示为图表上的点
PropertyName PropertyValue
kind 可视化效果种类的进一步细化。 有关详细信息,请参阅 kind property。
series 以逗号分隔的列列表,其中的每记录值组合定义了记录所属的系列。
title 可视化效果的标题(string 类型)。

kind 属性

可以通过提供 kind 属性进一步详细说明此可视化效果。 此属性支持的值包括:

可视化 kind 说明
areachart default 每个“区域”都独立存在。
unstacked 与 default 相同。
stacked 将“区域”堆叠到右侧。
stacked100 将“区域”堆叠到右侧,并将每个区域拉伸到与其他区域相同的宽度。
barchart default 每个“条形”都独立存在。
unstacked 与 default 相同。
stacked 对“条形”进行堆叠。
stacked100 对“条形”进行堆叠,并将每个条形拉伸到与其他条形相同的宽度。
columnchart default 每个“柱形”都独立存在。
unstacked 与 default 相同。
stacked 将“柱形”一个接一个地堆叠。
stacked100 对“柱形”进行堆叠,并将每个柱形拉伸到与其他柱形相同的高度。
scatterchart map 预期的柱形为 [经度,纬度] 或 GeoJSON 点。 系列列是可选的。 有关详细信息,请参阅地理空间可视化效果。
piechart map 预期的柱形为 [经度,纬度] 或 GeoJSON 点、颜色轴和数值。 在 Kusto 资源管理器桌面中受支持。 有关详细信息,请参阅地理空间可视化效果。

ysplit 属性

某些可视化效果支持拆分为多个 y 轴值:

ysplit 说明
none 为所有系列数据显示单个 y 轴。 (默认值)
axes 单个图表将显示多个 y 轴(每个系列一个)。
panels 为每个 ycolumn 值呈现一个图表。 最多五个面板。

如何呈现连续数据

若要呈现值的序列,请使用多个可视化效果,例如 linechart, timechart和 areachart。 这些可视化效果遵循概念模型:

  • 表中的一列表示数据的 x 轴。 可以使用属性显式定义此列 xcolumn 。 如果未定义它,用户代理将选取适用于可视化效果的第一列。
    • 例如,在可视化效果中 timechart ,用户代理使用第一 datetime 列。
    • 如果此列的类型 dynamic 并且它包含数组,则数组中的单个值将被视为 x 轴的值。
  • 表中的一列或多列表示随 x 轴变化的一个或多个度量值。 可以使用属性显式定义这些列 ycolumns 。 如果未定义它,用户代理将选取可用于可视化效果的所有列。
    • 例如,在可视化效果中 timechart ,用户代理使用具有未指定数值的所有列。
    • 如果 x 轴是一个数组,则每个 y 轴的值也应该是一个长度类似的数组,每个 y 轴出现在一列中。
  • 表中的零列或多列表示将度量值组合在一起的一组唯一维度。 可以使用属性指定这些列 series ,或者用户代理从其他未指定列中自动选取这些列。

注意

render 运算符的数据模型将表格数据视为具有下述三种列的数据:

  • X 轴列(由 xcolumn 属性指示)。
  • 序列列(由属性指示 series 的任意数量的列)。
  • Y 轴列(由 ycolumns 属性指示的任意数目的列)。 对于每个记录,该系列都具有与 y 轴列一样多的度量(图表中的“点”)。

示例

InsightsMetrics
| where Computer == "DC00.NA.contosohotels.com"
| where Namespace  == "Processor" and Name == "UtilizationPercentage"
| summarize avg(Val) by Computer, bin(TimeGenerated, 1h)
| render timechart