-
2020-08-25 14:22:27
之前,我们分享过 用集操作实现树状图的数据下钻。其实,对于 2019.2 及以上版本的 Tableau 用户,利用其新功能 参数操作 也能便捷的实现图表中数据的下钻。
Tips:集和参数都可以实现下钻。但从概念上来说,集和数据源紧密相关,它会随着数据源的更新而更新;参数则独立于数据源,它是人为引入的值,不会随着数据源的更新而更新,因此,参数的应用相对来说更灵活一些。
如下柱形图,鼠标单击任何大类的柱形,就可以立刻下钻查看它对应的子类别。
具体该如何实现呢?今天我们来分享方法,
为方便学习,栗子使用 Tableau 自带的“示例-超市”数据源。掌握栗子方法后,数据粉可尝试使用自己的数据。
--------------------------------------------------------------------------------------------------->>
具体步骤如下:
1、创建条形图
更多相关内容 -
全国行政区域边界数据(jsondata),基于百度地图省、市、区县三级数据下钻
2020-01-03 12:13:29这是目前最新从百度地图开放平台通过API拉取的省、市、区县三级数据,用于jsondata数据地图开发!!!! -
ECharts实现数据下钻
2021-12-17 16:59:281. 初始化图表 2.绑定点击事件 3.拼好要下钻的option数据 4.重新渲染ECharts先讲原理:
- 初始化图表
- 绑定点击事件
- 拼好要下钻的option数据
- 重新渲染ECharts
完整代码
<template> <!-- 月度项目汇总报表 --> <div class="box"> <h2>数据下转模板</h2> <!-- 全局 id 不可重复 --> <div id="chart"></div> </div> </template> <script> import * as echarts from "echarts"; export default { name: "chart", data() { return { chartData: [], //源数据 stack: [], // 数据栈 用于数据下转 }; }, methods: { getData() { // ...请求数据省略 // 数据格式 let data = [ { label: "金额", type: "line", color:"#ed7d31", chartData: [ { name: "位置1", value: 80, children: [ { name: "v11.0", value: 10, }, { name: "v10.0", value: 5 }, { name: "v9.0", value: 4 }, { name: "v8.0", value: 3 }, { name: "v7.0", value: 2 }, { name: "v6.0", value: 1 }, ], }, { name: "位置2", value: 20, }, { name: "位置3", value: 30, }, { name: "位置4", value: 80, }, { name: "位置5", value: 18, }, ], }, { label: "采购金额", type: "bar", color:"#5470c6", chartData: [ { name: "位置1", value: 80, children: [ { name: "v11.0", value: 10, children: [ { name: "w1", value: 10 }, { name: "w2", value: 800 }, { name: "w3", value: 700 }, { name: "w4", value: 20 }, { name: "w5", value: 500 }, { name: "w6", value: 40 }, ], }, { name: "v10.0", value: 8, }, { name: "v9.0", value: 7 }, { name: "v8.0", value: 6 }, { name: "v7.0", value: 5 }, { name: "v6.0", value: 4 }, ], }, { name: "位置2", value: 21, }, { name: "位置3", value: 31, }, { name: "位置4", value: 81, }, { name: "位置5", value: 19, }, ], }, ]; this.chartData = data; console.log(this.chartData, "源数据"); this.init(); //初始化echarts }, init() { // 一、 初始化图表 // 拼series数据 let seriesData = this.spellData(this.chartData, "chartData"); console.log(seriesData, "拼好的series数据"); let option = { // 分类 legend: { top: -5, left: 35, }, // 提示 tooltip: { trigger: "axis", }, // 距离 grid: { top: 25, left: 30, right: 5, bottom: 25, }, xAxis: { data: this.chartData[0].chartData.map((item) => item.name), //以第一个数据为标准,因为name是一致的 }, yAxis: {}, // series 数据 series: [...seriesData], // 默认不显示返回按钮 graphic: [ { type: "text", left: 0, top: 1, style: { text: "", fontSize: 16, }, }, ], }; let myChart = echarts.init(document.getElementById("chart")); myChart.setOption(option); // 二、 数据下砖 // 记录栈 this.stack = []; this.stack.push(option); // 点击事件 let that = this; myChart.off("click"); // 点击之前 先把上一次的解绑,避免两次点击 myChart.on("click", function (event) { // 数据下钻 that.dataDrillDown(event); }); // 自适应屏幕 window.onresize = function () { myChart.resize(); }; }, // 数据下转 dataDrillDown(event) { console.log(event, "event"); /* 数据下转的查询数据规则有两种 1. 查询亲孩子(自己符合规则的数据) 2. 查找所有孩子(只要name一致 并且也有children就一起渲染) * 默认 */ // 这里使用的是第二种,如果想使用第一种 在数据下转前 查询父数据内符合规则的即可,而不是遍历全部的数据 // const parentData = that.chartData.filter((item) => { // if (item.type == event.seriesType && item.label == event.seriesName) { // return item; // } // }); // 1.查找子数据 (这里拿数据的name进行查询的) let childrenData = []; function findChildren(arr, event, parentItem) { arr.filter((item) => { if ( item.name === event.name && item.children && item.children.length != 0 ) { item.label = parentItem.label; item.type = parentItem.type; item.color = parentItem.color; childrenData.push(item); //查到的children } else if (item.children && item.children.length != 0) { findChildren(item.children, event, parentItem); } }); } this.chartData.forEach((item) => { findChildren(item.chartData, event, item); }); if (childrenData.length == 0) return false; //如果查不到证明没有 直接return console.log(childrenData, "查到的所有符合规则数据"); // 2.拼子series数据 let childrenSeriesData = this.spellData(childrenData, "children"); console.log(childrenSeriesData, "拼好的子series数据"); // 3.初始化下转数据 let option = { // 分类 legend: { top: -5, left: 35, }, // 提示 tooltip: { trigger: "axis", }, // 距离 grid: { top: 25, left: 30, right: 5, bottom: 25, }, xAxis: { data: childrenData[0].children.map((item) => item.name) }, yAxis: {}, series: [...childrenSeriesData], }; this.stack.push(option); //记录栈 let that = this; // 下转后的返回按钮 option.graphic = [ { type: "text", left: 0, top: 1, style: { text: "返回", fontSize: 16, }, onclick: function (event) { // 返回到上一个 let option = that.stack[that.stack.length - 2]; if (!option) return false; // 到头了就停止执行 // "如果是最前面一级 就不显示返回按钮" if (that.stack.length == 2) { option.graphic = [ { style: { text: "", }, }, ]; } myChart.setOption(option); //重新渲染 //点击一次返回 往栈里面删除一个 that.stack.pop(); }, }, ]; let myChart = echarts.init(document.getElementById("chart")); myChart.setOption(option, true); }, // 拼数据 spellData(arr, dataName) { let seriesData = []; arr.forEach((item, index) => { if (!item[dataName]) item[dataName] = []; //边缘处理 let obj = { color: item.color, /* 核心数据 */ name: item.label, type: item.type, data: item[dataName].map((item) => item.value), /* 其他数据 */ label: { show: true, position: "inside", fontSize: 18, }, // 过渡时间和动画 animationDurationUpdate: 500, universalTransition: { enabled: true, divideShape: "split", }, }; seriesData.push(obj); }); return seriesData; }, }, mounted() { this.getData(); }, }; </script> <style scoped lang='scss'> .box { position: absolute; width: 100%; height: 100%; } #chart { width: 100%; height: 90%; } </style>
-
metabase Drill Through(数据下钻)能力
2021-03-14 08:38:04对应外键和joined 字段,在非native query模式下可以实现自动展现对应数据,使用joined字段可以避免使用外键,更适合生产环境 带dashboard 通过自定义click 事件也可以实现 dashboard模式需要注意,以native query...简单总结
- metabase 的tile map/瓦片地图模式通过地图缩放可以实现Drill Through
- 对应外键和joined 字段,在非native query模式下可以实现自动展现对应数据,使用joined字段可以避免使用外键,更适合生产环境
- 带dashboard 通过自定义click 事件也可以实现
dashboard模式需要注意,以native query为例,要跳转的parameter类型要正确,如下图数字类型的参数必须选择number。
dashboard的配置如下:
注意右下角的Pass value to… -
echarts各省json数据-用于数据下钻.zip
2022-06-22 14:43:44echarts各省json数据-用于数据下钻。 -
通过ECharts 实现数据下钻
2020-08-22 16:11:56先展示所有年份数据,然后在下钻到该年的月份数据 核心代码: 其实现思路,主要是通过echarts的点击事件,当点击了当前年份柱状图时,获取当前的年份数字,然后调用后台接口拿到该年份的月份数据,然后重新给 ...效果图:
先展示所有年份数据,然后在下钻到该年的月份数据
核心代码:
其实现思路,主要是通过echarts的点击事件,当点击了当前年份柱状图时,获取当前的年份数字,然后调用后台接口拿到该年份的月份数据,然后重新给 echarts 设置 options即可
<template> <div :class="className" :style="{height:height,width:width}" /> </template> <script> import echarts from 'echarts' import resize from './mixin/resize' import { getCountTombsByMonthData, getStatisticsOfTombsByYearData } from '@/api/stats' export default { mixins: [resize], props: { className: { type: String, default: 'chart' }, width: { type: String, default: '100%' }, height: { type: String, default: '400px' }, title: { type: String, default: '' },
-
举个栗子!Tableau 技巧(132):用参数操作实现数据下钻
2021-04-30 16:04:21我们分享过 用集操作实现树状图的数据下钻 。其实,对于 2019.2 及以上版本的 Tableau 用户,利用其新功能 参数操作 也能便捷的实现图表中数据的下钻。 Tips:集和参数都可以实现下钻。但从概念上来说,集和数据源... -
在vue中使用echars实现上浮与下钻效果
2020-10-16 00:39:27主要介绍了在vue中使用echars实现上浮与下钻效果,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 -
VUE echarts中国地图带下钻带返回带数据返回.rar
2021-08-31 11:52:38VUE echarts中国地图带下钻带返回带数据返回 -
echarts全国和省级地图下钻,以及各种可视化数据图形
2020-07-15 17:08:23echarts全国和省级地图下钻,以及各种可视化数据图形,支持全国下钻到省级,点击省级自动切换到省级下数据 -
高德地图实现全国(世界,各国,省市区,支持多级钻透)数据分布图。
2021-01-08 16:39:00高德地图实现全国(省市区,支持穿透)数据分布图,支持世界国省市区的地图显示,支持上下级,多级钻透,自定义数据源,自定义鼠标tip html提示信息,样式,根据高德地图修改,世界(各国:暂时定为中国),全国,省市... -
echarts3(请注意是echarts3)做地图数据下钻?
2016-07-29 09:07:03如题,echarts3 如何实现全国地图下钻到省市级地图数据????请指教,谢谢。 -
数据杂谈&:数据库 上钻 下钻 切片 转轴含义的理解(含有例子)
2021-04-02 11:39:13下钻:从当前数据往下展开下一层数据。例如:(某数据的分类下面分为品名)从分类列表展开到品名列表。 上钻、下钻统称钻取。 切片:展现同一层面的数据。如上述的产品。 转轴:这些应该属于查询、展现范畴 如下:... -
echarts地图下钻省市县json 数据文件
2018-04-27 10:33:28该资源可以实现地图下钻省市县三级,里面有具体的json、js文件,源码全包含 -
eCharts全国及各省、市、县三级下钻数据(珍藏版)
2018-11-15 19:10:09史上最全的map数据,三级数据下钻,全国->省->市,全国->直辖市->县级市 例如:第一级市全国地图,下一级为北京地图数据,再下一级为通州区数据。珍藏版,花费了很久很久才整理的最全最实用的的资料。做地图开发,不... -
数据粒度的上卷和下钻
2021-05-13 22:43:00数据粒度的上卷和下钻 上卷 数据的汇总聚合,细粒度到粗粒度的过程,会无视某些维度 下钻 数据明细,粗粒度到细粒度的过程,会细化某些维度 案例 select * from table group by A; select * from table group ... -
基于Echarts插件的省市区多级地图下钻和返回功能
2018-04-11 11:40:52特别提醒:由于要获取json文件,需要运行在服务器下,才能看到效果。)利用echarts插件实现的中国省市区三级地图切换。主要采用单击进入下级地图,双击或者右键点击“返回上一级”地图。资源里面包括详细的实现源码... -
echart 省市下钻带资源及模拟数据
2018-08-28 11:52:35echart的省市地图带数据显示. 可下钻市区. 简单的带模拟后台数据. 前端直接嫁接使用. -
地图资源省市区下钻数据json
2021-11-09 18:36:30地图资源省市区下钻数据json -
数据挖掘-上卷下钻
2020-05-30 19:45:16它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷...下探(drill-down):下探是上卷的逆操作,它是沿着维的层次向下,查看更详1653细的数据。 数据挖掘(上述图片很清晰直观。--分享) ... -
echart地图下钻数据.rar
2019-12-13 09:51:36echarts地图下钻(包含钓鱼岛信息)亲测可以正常使用。有问题可以留言 -
echarts地图下钻(全国、省、市)多级下钻.zip
2020-03-06 15:26:16echarts地图下钻(全国、省、市)多级下钻,用webstorm导入项目,启动即可呈现效果. -
echarts3山东省地图动态获取数据和下钻区县功能
2018-08-28 10:07:50echarts3山东省地图动态获取数据和下钻区县功能,并贴上自己程序中动态获取拼接数据的逻辑实现了地图下钻区县的功能展示。 -
echarts_extendsMap0302:基于echarts,地图数据展示,点击地图下钻..
2021-05-16 04:33:36echarts_extendsMap0302 基于echarts,地图数据展示,点击地图下钻(只下钻到省市) 仅供学习参考哦。 -
基于钻孔数据的三维地质建模及可视化系统3DGMS的设计与实现
2020-05-23 07:34:53基于OpenGL图形库和VC++6.0开发平台,从系统目标要求、体系结构和功能模块等几方面设计和开发了基于钻孔数据的三维地质建模及可视化系统3DGMS,实现了地层、矿体、断层、地表和巷道等三维模型的创建与可视化显示,以及... -
安徽区县地图+支持下钻+实例+中国各省json数据
2022-06-09 14:08:25echarts地图下钻功能demo,提供安徽各地市功能,下级到区县,下载解压后打开html可查看 -
vue使用高德地图点击下钻上浮效果的实现思路
2020-10-16 05:31:27主要介绍了vue使用高德地图点击下钻 上浮效果的实现思路,本文以浙江省为例通过实例代码给大家介绍的非常详细,需要的朋友可以参考下 -
echarts实现河北地图下钻可以下钻到县级
2020-06-04 10:07:50echarts实现河北地图下钻,可下钻到县级。请使用开发工具打开,直接打来浏览jquery加载json文件会有问题,小白一枚,欢迎大神指导。 -
上钻、下钻
2021-09-07 16:44:08上钻、下钻统称钻取 1、上钻: 从当前数据往上回归到上一层数据。例如:(某数据的分类下面分为品名)从品名列表收拢到分类列表。 2、下钻: 从当前数据往下展开下一层数据。例如:(某数据的分类下面分为品名)从... -
随钻测斜系统离线式数据同步方法研究
2020-06-02 03:30:03针对煤矿用普通中小型回转钻机的随钻测斜系统姿态数据无法在线上传的...试验结果表明,该离线式数据同步方法使钻杆数据和姿态数据实现了同步,能够在不改动钻机结构的前提下充分满足普通中小型回转钻机的随钻测斜需求。