render 运算符

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

指示用户代理呈现查询结果的可视化效果。

Render 运算符必须是查询中的最后一个运算符,只能与生成单个表格数据流结果的查询一起使用。 render 运算符不修改数据。 它在结果的扩展属性中注入注释(“可视化效果”)。 注释包含由查询中的运算符提供的信息。 可视化效果信息的解释由用户代理来完成。 不同的代理(如 Kusto.Explorer 或 Azure 数据资源管理器 Web UI)可能支持不同的可视化效果。

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

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

提示

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

注意

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

语法

T | render visualization [with ( propertyName = propertyValue [, ...])]

详细了解语法约定

参数

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

可视化效果

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

注意

ladderchart、pivotchart、timepivot 和 treemap 可视化效果可在 Kusto.Explorer 中使用,但在 Azure 数据资源管理器 Web UI 中不可用。

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

支持的属性

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

PropertyName PropertyValue
accumulate 是否将每个度量的值加到其所有前导度量中。 (truefalse
kind 可视化效果种类的进一步细化。 有关详细信息,请参阅 kind property
legend 是否显示图例(visiblehidden)。
series 以逗号分隔的列列表,其中的每记录值组合定义了记录所属的系列。
ymin 要在 Y 轴上显示的最小值。
ymax 要在 Y 轴上显示的最大值。
title 可视化效果的标题(string 类型)。
xaxis 如何缩放 x 轴(linearlog)。
xcolumn 结果中的哪一列用于 x 轴。
xtitle x 轴的标题(string 类型)。
yaxis 如何缩放 y 轴(linearlog)。
ycolumns 由逗号分隔的列列表,其中包含根据 x 列的值提供的值。
ysplit 如何拆分多个可视化效果。 有关详细信息,请参阅 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 值呈现一个图表(直至达到某个限制)。

如何呈现连续数据

有多个可视化效果可用于呈现值序列,例如 linecharttimechartareachart。 这些可视化效果具有以下概念模型:

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

注意

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

  • X 轴列(由 xcolumn 属性指示)。
  • series 列(由 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