点击关注上方“SQL数据库开发”,
设为“置顶或星标”,时间送达干货
之前发布了一篇Power BI的简明教程,在文中发布了一个《1960-2018年全球GDP前十排行榜》的视频,还没看过的小伙伴可以看下效果。
有不少小伙伴留言想知道怎么制作的,今天就教大家如何制作这样一个炫酷的动态排行榜。这里我们介绍两种方法,每种方法都有优缺点,但是效果都差不多。要制作这样一份动态排行榜,我们需要知道各个国家2016年到2018年间的GDP才行。我从网上找到了一份这样的数据,在公众号后台回复:GDP 可获取。前两列是国家名称和国家代码,后面就是每一年的GDP值了。有了这份数据,我们打开Power BI,选择从Excel导入数据,如下图:找到这份数据文件,然后在弹出的对话框中选择Sheet1,然后点击【转换数据】按钮这样我们会进入到一个数据处理的界面上。我们在主页的菜单上选择【将行作为标题】功能,如下图:国家代码其实我们用不到,如果你不想要它的话,可以选中国家代码这一列,然后选择主页上的【管理】——【删除】即可,当然你也可以右键国家代码列,在弹出的菜单中选择【删除】选项。接下来是比较关键的一步了,我们需要逆透视改表的所有年份,具体操作如下,选择国家列,然后点击菜单栏的【转换】——【逆透视列】——【逆透视其他列】,意思就是逆透视除了国家以外的所有年份的列。当然如果你不嫌麻烦也可以选中所有年份的列,然后点击【逆透视列】。双击属性和值这两列,将它们重命名为年份和GDP。然后将GDP这一列除以100000000(一亿),然后就它转换成整数。调整完之后的数据如下图:这就是我们想要的数据,点击主页的【关闭并应用】即可完成数据整理。然后我们回到主窗口可以看到整理后的数据列。点击中间的【可视化】菜单下的空间,点击控件【簇状条形图】,然后将字段拖放到相应的位置,具体如下图:这样一个大致的轮廓就出了,但是我们发现得到的图是所有年份的汇总数据,而我们想要的是每年动态变化的数据。这里我们就要使用到一个新的控件:轮播控件(Play Axis),在可视化窗口那里可以添加,如下图:在弹出的窗口中我们搜索Play Axis即可找到,然后点击添加即可,如下图:Power BI有非常丰富的控件资源,很多非常炫酷的功能其实都是借助控件来实现的,即使你不会DAX这门脚本语言也可以做出非常精美的可视化效果。添加完轮播控件后我们加载到画布上,然后将年份拖放到相应位置,如下图:年份和排行榜都做好了了,接着要解决它们的联动问题,我们发现点击播放会是下面这个样子:浅色部分是所有GDP的总和,深色部分才是当你的GDP,这与我们想象的不一样啊。那要怎么解决这个问题呢?选中轮播控件(Play Axis),点击菜单栏【格式】——【编辑交互】,会发现可视化窗口的右上角出现了三个小图标,点击左边的【筛选器】筛选器即可,如下图:这样你再重新点击轮播控件的开始按钮,左表的条形图就会动态变化了。小伙伴们有没有注意到排行榜的右下角会动态显示年份?这里我们添加一个【卡片图】控件到画布上,如下图:这样在轮播控件变化时,卡片图上的年份也会跟着变化。为了将这个图做的好看一点,我们可以对条形图进行格式美化,在可视化控件下面有个调整控件格式的按钮,里面可以调整控件的各种属性,如下图:这里小伙伴们可以自由发挥,下面是我美化后的效果图:这种方法的优点是可以自定义各种数据项,包括柱形图的颜色,标签位置,字体颜色等,可配置性非常强。上面的方法可能会觉得比较复杂,接下来我们再介绍一个视频中的方法,这个是真·超级简单!我们同样需要将原始数据整理成上面的格式:国家,年份,GDP。不同的是我们只需要使用一个控件就可以实现上面的功能,那就是控件:动画条形图(Animated Bar Chart Race)还是在控件市场里面搜索英文名称添加到画布上,如下图:我们调整一下这个控件的几个参数即可开始运行了。具体如下:topN:条形图中的条目数量
duration:动画延迟时间,值越大动画播放越慢
autoPlay:设置是否自动播放
fontFamily:设置条目的字体
fontSize:设置条目的字号
hideGrid:设置是否因此图例
hideNumber:设置是否因此数据值
hidePeriod:设置是否显示日期
periodSize:设置日期的字号缺点是数据条目太短而无法显示,名称无法显示在条目外侧,字体颜色无法修改,界面只能展示多20条信息。图文教程就介绍到这里了,之后我会在我的视频号发布一期视频版的教程,感兴趣的小伙伴们可以关注一下我的视频号。
后台回复关键字:1024,获取一份精心整理的技术干货