通过DataGear的参数化数据集、图表联动和看板API性能,能够很不便地制作反对数据钻取成果的数据可视化看板。

首先,以下级地区名为参数,新建一个参数化SQL数据集:

SELECT    COL_NAME,              --地区名    COL_VALUE,             --地区指标数值    COL_PARENT AS COL_MAP  --下级地区名,同时作为地图名FROM    T_ANALYSISWHERE<#if 下级地区名??>    COL_PARENT = '${下级地区名}'<#else>    COL_PARENT = '中国'</#if>

参数:

名称        类型       必填下级地区名  字符串     否

T_ANALYSIS表数据示例:

COL_NAME         COL_VALUE         COL_PARENT山东             160               中国北京             200               中国...朝阳区           195               北京海淀区           200               北京...青岛市           10                山东济南市           160               山东...历下区           50                济南市市中区           78                济南市历城区           150               济南市...

而后,新建一个应用上述数据集的地图图表:

图表类型:根本地图数据集列标记:COL_NAME:地区名称 (name)COL_VALUE:指标数值 (value)COL_MAP:地图名 (map) 

而后,新建可视化看板,填写如下看板模板内容:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">.dg-chart{  display: inline-block;  width: 100%;  height: 480px;}</style><script type="text/javascript">var paramHistory = [];var chartListener ={    onUpdate: function(chart, results)    {        //存储以后下级地区名,用于反对返回操作        var paramVal = chart.dataSetParamValueFirst(0);        if(!paramVal)            paramHistory = [];        else            paramHistory.push(paramVal);                $("#title").html((paramVal ? paramVal : "全国") + " - 数据");    }};$(document).ready(function(){    $("#backButton").click(function()    {        //获取上一次操作的下级地区名,设置为图表参数,而后刷新图表        paramHistory.pop();        var paramVal = (paramHistory.pop() || null);        var chart = dashboard.chartOf("chart1");        chart.dataSetParamValueFirst(0, paramVal);        chart.refreshData();    });});</script></head><body class="dg-dashboard" dg-chart-map-urls="{'济南市':'jinan.json'}">    <div style="position: absolute;left:1;top:1;font-size:12px;">    DataGear <br>    http://www.datagear.tech</div><div style="font-size:2em;text-align:center;margin-bottom:5px;">DataGear 看板示例</div><p> </p><div style="position:relative">    <div id="title" style="text-align:center;font-size:1.2em;font-weight:bold;"></div>    <button id="backButton" style="position:absolute;right:2em;top:0;">返回</button></div><div id="chart1" class="dg-chart"    dg-chart-options="{title:{show:false}}"    dg-chart-link="{target:'chart1',data:{name:0}}"    dg-chart-listener="chartListener"    dg-chart-disable-setting="true"    dg-chart-widget="3fa7ecaf11742397c58b"></div></body></html>

点击[保留并展现]按钮,关上看板展现页面,实现!!!

注:上述示例中应用了没有内置的济南市地图GeoJSON文件(jinan.json),须要通过看板编辑页面增加看板资源性能增加至看板。

举荐GeoJSON下载地址:https://datav.aliyun.com/portal/school/atlas/area_selector

效果图如下所示:

官网地址:
http://www.datagear.tech

源码地址:
Gitee:https://gitee.com/datagear/datagear
Github:https://github.com/datageartech/datagear