问题描述:
参考线可以来自于API或者其他URL
问题解决:
抱歉,因为目前的参考线只能来自于我们绑定至的计算结果,确实不能来自于其他类似于代码,这个我们提一个需求。
但是其实也不是不能实现,这个我们可以使用插件实现或者直接使用7.0的echart扩展实现。
echart的参考线可以动态设置,我们只需要将参考线的值来自于数据集即可。然后通过绑定数据,就是实现动态参考线,然后推送数据集再把数据推送的数据给仪表板,就可以实现最新的数据获取了
具体操作步骤,推送数据集除了推送原来的数据,在新加一个字段,now(),也就是不断地记录现在的时间。这个是为了后面能拿到最新的时间。
然后设计图表使用echarts图表,您根据您的参考线添加三个度量值,参考如下:
- MaxX(TopN(1,'Demo_销售明细_仪表板','Demo_销售明细_仪表板'[订购日期],desc),'Demo_销售明细_仪表板'[订单单价])
复制代码 我这里是示例。TopN的第二个参数传您的日期时间,也就是记录的Now,这样就把最新推送的数据作为第一条拿到。然后maxX的第二个参数就是您要绑定的参考线数据。然后使用把这个参考线绑定到图表上,我这里绑定到第二个值
echart的集成代码如下:
- var markLine;
- for(let i = 0;i<option.series[1].data.length;i++){
- if(option.series[1].data[i].value != null){
- markLine = option.series[1].data[i].value
- break;
- }
- }
- let myOption = {
- xAxis: {
- type: "category",
- data: option.xAxis.data.map(data => data.value)
- },
- yAxis: {},
- series: [{
- data: option.series[0].data.map(data => data.value),
- type: "line",
- markLine: {
- data: [{
- name: '参考线',
- yAxis: markLine
- }],
- silent: true
- }
- }]
- }
- return myOption
复制代码 整体难度也不大,就是正常的数据绑定,然后把数据给了,然后参考线使用绑定的第二个值拿到,就可以实现参考线来自于推送数据,然后实时更新参考线了
|