钻取
钻取综述
钻取是⼀种配置⼯具,⽤于配置对⽤户单击仪表板或表单中可视化的响应。 您可以在单击仪表板中的数据点、表格⾏或其他可视化元素时触发您配置的钻取行为。 比如当钻取链接到默认搜索的时候,单击仪表板上的可视化元素会获取字段值,通过辅助搜索中生成搜索语句并打开搜索页面完成自动查询。
钻取操作
访问钻取编辑器
打开仪表板,这里以"钻取展示仪表板"为例,点击仪表板右边"编辑"按钮进入仪表板编辑状态。在图表的右上方点击"..."显示操作菜单,并选择 "编辑钻取"。 得到钻取编辑对话框后,用户可以选择钻取链接配置钻取操作。钻取链接目标可以是自动搜索、自定义搜索、外部链接等。 默认新建图表添加到仪表板时,钻取链接选项为"无",钻取为禁用状态。
链接到默认搜索
在钻取链接下拉菜单中选择"默认搜索"
钻取链接到默认搜索会根据点击字段和数值⾃动⽣成查询语句以显⽰有关单击值的更多信息。
让我们用以下搜索语句的折线图表为例:SELECT _source, COUNT(*) FROM _internal GROUP BY _source
点击图中_source
为某个特定值的数据点,会打开搜索页面,用户可以查看指定字段的更多信息。
自动生成的搜索语句为 SELECT * FROM ( select _source, count(*) from _internal group by _source ) WHERE "_source" = '<your_selected_source>'
对于单值图表,默认搜索自动生成的查询语句为该图表的原始查询语句
链接到自定义搜索
在钻取链接下拉菜单中选择"自定义搜索",您可以⾃定义辅助搜索以⽣成不同的结果。例如,您可能想要显⽰单个数据集的结果或搜索某个字段值。
请使用预定义标记 $click.value$ 和 $click.category$ 获得钻取内容并在搜索中使用。 例如 SELECT * FROM your_eventSet WHERE name=$click.category$ AND value=$click.value$
- $click.category$ 是点击的图标当中的点的X坐标轴上的取值。
- $click.value$ 是点击的图表当中的点的Y坐标轴上的取值。
用以下搜索语句的折线图表为例:SELECT _source, COUNT(*) FROM _internal GROUP BY _source
,在钻取链接下拉菜单中选择"自定义搜索",输入自定义搜索的查询语句为
SELECT _source, method FROM _internal WHERE "_source" = '$click.category$'
,时间范围选取"过去5分钟",点击确定按钮。
点击图中_source
为某个特定值的数据点,会打开搜索页面,并得到搜索语句为
SELECT _source, method FROM _internal WHERE "_source"='<your_selected_source>'
。
您还可以使用预定义标记 $click.field$ 获得点击数据点的字段名称并在搜索中使用。例如已有查询语句为 select method, count(method) from your_eventSet group by method
的图表, 那么您可以在链接到自定义搜索中使用 $click.field$ 来过滤结果,例如 with cte as ( select method, count(method) from _internal group by method ) select * from cte where "$click.field$" > 200
点击图中的数据点, 会打开搜索页面,并得到搜索语句为
with cte as ( select method, count(method) from _internal group by method ) select * from cte where "count(method)" > 200
链接到URL
在钻取链接下拉菜单中选择"URL",键⼊完整的⽬标URL,包括 http:// 或 https:// 前缀,例如 "https://example.com"。
当然与钻取链接到搜索类似,您可以使用预定义标记 $click.value$ , $click.category$ 和 $click.field$ 获得钻取内容并在URL中使用。当点击图表中元素时,钻取编辑器会根据点击字段和数值生成URL。 例如 "https://cn.bing.com/search?q=$click.value$%20$click.category$"
- $click.category$ 是点击的图标当中的点的X坐标轴上的取值。
- $click.value$ 是点击的图表当中的点的Y坐标轴上的取值。
- $click.field$ 是点击的图表中对应的点的列名。
设置钻取标记
在钻取链接下拉菜单中选择“设置标记“,你可以将你点选的数据点的值设置到仪表板预定义的标记中。例如:
图中的设置就是将点选的数据点的值,设置给仪表板中名为field1
的标记,而当仪表板中其余地方引用了这个标记(例如在search中, 或者在widget的标题中使用了$field1$
),这些地方就会根据用户点选的数据点而变化。
- 当用户的search为
select $field1$ from access_log
时,当用户点击一个值为'method'的数据点,并且数据点所在的图表按照上图设置了钻取,那么这个search就会被替换为select method from access_log
当我们使用标记 $field1$ 时,我们只是将其做简单的字面量使用,如果引用处需要其作为一个值,则可使用相应的引号或使用标记过滤器,例如:
select * from _internal where _host=$field1|sq$
或select * from _internal where _host='$field1$'
这时field1作为where 条件的值使用;select * from _internal where $field1|dq$='test'
或select * from _internal where "$field1$"='test'
这时查询语句中field1作为where条件的列名字段使用。
有关访问标记值的更多语法,请参阅"标记过滤器"
因为仪表板中包含了各种图表,但是每个图表背后的数据源都是一个或简单或复杂的表格,而当用户点选某一个数据点时,是点选了这个表格中的某个单元格。 我们预定义了各种不同的标记名称,用来指代用户所点选的数据点的一些特定的值。
通用的标记:
$click.value$
: 数据点的值$click.field$
: 数据点对应的列名$click.field0$
: 整个数据表格的第0列的列名
表格标记:
表格类型图表支持使用$row.fieldName$
的形式来获取点击的表格值。
例如您有一个含有列名为'code'的图表,那么可以设置标记'value'的值为$row.code$
,这时当您点击在这一行任何位置时,都可以讲这行中对应列名为'code'的表格值赋予标记。
注意:炎凰数据平台2.13.0以后,这个功能也对一些具有XY轴的图表生效,例如散点图,折线图等。 并且,在2.13.0的版本中,用户可以使用$row.fieldName$
的形式来获取一些在表格中的值。即使用户对这些XY轴的图表设置了自定义的字段展示,也可以使用$row.fieldName$
的形式来获取该数据点所在行的其他信息,例如:
搜索返回的结果有source, target, value, value2 这四列,但是画折线图时只用到了source作为X轴的字段,value作为Y轴展示的值,用户依然可以用 $row.target$
或者 $row.value2$
来获取当前点击的数据点中未展示的其他列的值。
标记的一些别名:
仪表板中的图表多种多样,不同的图表背后对应的数据集也不同。我们为这些通用的标记取了一些别名,帮助用户理解其含义:
$click.category$
: 数据点对应的标签值,存在于条形图,柱状图等具有直角坐标系的图表中,所对应的是数据点的标签值- 所谓标签值就是这个数据点在对应标签坐标轴上对应的标签,一般具有直角坐标系的图表都会有一根标签坐标轴和一根值坐标轴,举个例子:在柱状图中,X轴就是标签坐标轴,而Y轴就是值坐标轴,所以当用户点选了一根柱子时,这根柱子对应的X轴的读数就是$click.category$, 而对应的Y轴读数则是$click.value$
- 并非所有图表都有
$click.category$
, 例如单值趋势图。
$click.series$
: 这个是$click.field$
的别名,因为在具有直角坐标系的图表中,一般不同列都会被处理为不同的series,而这个列名就是对应的series name。
特殊的标记
对于气泡地图 这种特殊的图表,我们定义了一些特殊的标记:
$click.lat$
: 数据点对应区域的经度$click.lng$
: 数据点对应区域的纬度