打字猴:1.70042881e+09
1700428810
1700428811 由于有多个时间周期,数据量比较大,我们用专门的data工作表来存放原始数据。本例中,data工作表B11:O44区域存放了各省2001~2012年共12年的数据,也可以是1~12月共1年的数据。
1700428812
1700428813 map工作表为模型的地图生成和演示界面,各部分的设置与3.1节基本类似,后续步骤下文再讲解。
1700428814
1700428815 2.设置分档阈值和图例。
1700428816
1700428817 设置分档阈值和图例的方法同3.1节。由于数据有12个周期,我们要根据所有期间数据的取值范围来设置分档阈值,这样每一年的地图分档填色才有共同的参照标准。为更精确地反映数据,本例中设置了9个分档。
1700428818
1700428819 3.制作时间选择器。
1700428820
1700428821 现在制作一个选择器以供用户选择时间周期。考虑到向右具有时间变化的象征意义,我们在地图下方绘制一个滚动条窗体控件,作为年份选择器。设置最小值为2001,最大值为2012,步长为1,选择结果链接存放到单元格C9。若是12个月的数据,最小值和最大值可以分别设为1和12。
1700428822
1700428823 4.准备所选当期的数据。
1700428824
1700428825 C11:C41作为存放所选择当期数据的临时站点,根据C9的选择结果,使用公式从data工作表的数据源区查找并返回相应年份各省的数据。以C11为例,其公式为:
1700428826
1700428827 C11: =VLOOKUP(B11,data!$B$11:$O$44,map!$C$9-2000+2,0)
1700428828
1700428829 5.将绘制地图的宏赋给滚动条。
1700428830
1700428831 窗体控件有一个好处是可以指定宏,每次控件被选择时,就会触发宏动作。还是利用3.1节中的地图填色宏fill_color,将其指定给滚动条。
1700428832
1700428833 这样,当调整滚动条时,记录选择结果的C9单元格会变化,C列就会变化为所选当期的数据。而滚动条同时会触发绘制地图的宏,以C列的当期数据参照统一的图例阈值来刷新地图的填充色!这就是动态地图的效果。
1700428834
1700428835 6.制作一个自动播放的按钮。
1700428836
1700428837 如进一步完善的话,我们可以提供一个可以自动切换年份的播放按钮。绘制一个按钮,为其编写如图5-6所示的宏代码。
1700428838
1700428839
1700428840
1700428841
1700428842 图5-6 自动播放的宏
1700428843
1700428844 这个简单的宏循环所做的事情,就是让C9的值从2001变化到2012,每次刷新一次地图,并停顿1秒。
1700428845
1700428846 我们在地图上方放置一个大字号的文本框,引用C9的当前年份,作为地图的年份提示。
1700428847
1700428848 现在,当你单击播放按钮时,地图的颜色,也就是所对应的数据,将自动从2001年变化到2012年,而你就可以专心观察这种变化趋势。当看到时间慢慢变换,地图的颜色随之慢慢变化,反映出各省业务指标变化的特征,是不是非常惬意呢?
1700428849
1700428850 这里为讲解方便,将有关辅助数据与地图放置在一起。在制作自己的报告时,你可以将地图图形和选择器放置在一个单独的工作表,把其他工作表都隐藏起来,或者直接将有关辅助数据的列隐藏起来,以便给用户一个干净的分析界面。
1700428851
1700428852 懒人直接用
1700428853
1700428854 在随书范例包中找到并打开“5.2切换时间维度的动态数据地图.xls(或.xlsm)”文件,启用宏。
1700428855
1700428856 ●在data工作表的B11:O44区域输入数据。如需修改数据周期,请按前述步骤调整模型中相应的地方。
1700428857
1700428858 ●在map工作表设置统一的图例和分档阈值。
1700428859
[ 上一页 ]  [ :1.70042881e+09 ]  [ 下一页 ]