仪表板查询标记
查询标记综述
仪表板的图表查询标记本质上也是一种仪表板标记。与仪表板内其他类型的标记 输入标记或设置标记一样,查询标记也由标记名称和标记值组成,通过$...$ 分隔符在查询语句中使用,并且支持使用"标记过滤器"。
查询标记的生效跟钻取标记类似,均需触发的动作或条件。钻取标记是当用户单击仪表板中的数据点、表格⾏或其他可视化元素时,触发用户配置的钻取行为。而查询标记是通过执行图表的查询,让您使用预定义标记访问查询结果或查询属性并将其设置成为仪表板标记。
目前只支持图表查询完成状态之后的查询结果和查询任务属性数据,暂不支持访问查询执行中或出错等状态的结果与属性,敬请期待。
预定义标记
您可以通过以下预定义标记访问查询结果和查询任务属性。
标记 | 描述 |
---|---|
results.字段名 | 访问查询结果已命名的字段值。 默认标记访问来自返回结果第一行的数值,例如 $results.state$ 用来访问结果中第一条记录的字段state 的值。 除了访问结果中第一条记录之外,还可以用 reults[N].字段名 来访问的结果中第N+1条记录,例如 $results[2].state$ 可以用来访问结果中第三条记录的字段state 的值。 |
job.property | 访问查询任务属性值。 例如, job.id 用来访问查询任务ID,job.earliest_time 和 job.latest_time 用来访问查询时间范围的信息。其余预定义标记如下:任务执行用时 - job.duration 任务创建时间 - job.created_at 任务结束时间 - job.finished_at 任务SQL语句 - job.query 查询任务状态 - job.status 查询结果条目数 - job.total_results_count 查询创建者 - job.trigger_user |
如果你想使用results[N].字段名
来访问的结果中第N+1条记录,那么请确保查询结果的条目数能够符合标记的设定值,如果没有查找到设定条目则标记不会被赋值。
另外,考虑到运行效率和性能问题,目前版本只暂存了前100条结果记录。
添加查询标记
在仪表板内,创建一个样例图表,下面以查询语句为select city, state from cities_csv
的表格图形为例进行演示。
进入仪表板编辑状态,点击图表右侧的操作按钮下拉菜单中的 "编辑查询标记" 选项, 得到编辑查询标记对话框。
添加查询标记 city=$results.city$
和 state=$results[2].state$
用来记录查询结果第一条记录里的'city'以及第三条结果的'state'字段值。
使用查询标记
新建两个图表,在图表查询语句中通过$...$ 分隔符使用上述两个查询标记'city'和'state',例如设置查询语句为
select city, state from cities_csv where "city" = $city|sq$
和 select state, city from cities_csv where "state" = $state|sq$
获得以下仪表板样例,例如'图表1'运行查询后赋值标记city='Reading'
和 state='CA'
,从而运行'图表2'和'图表3',展示如下: