来了,Power BI制作GDP动态排行榜详细教程,超级简单!

2023-11-04 10:10

本文主要是介绍来了,Power BI制作GDP动态排行榜详细教程,超级简单!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击关注上方“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条信息。

两种方法都各有千秋,小伙伴们都可以动手尝试一下。

图文教程就介绍到这里了,之后我会在我的视频号发布一期视频版的教程,感兴趣的小伙伴们可以关注一下我的视频号。

——End——
后台回复关键字:1024,获取一份精心整理的技术干货
后台回复关键字:进群,带你进入高手如云的交流群。
推荐阅读
中国程序员VS美国程序员,太形象了...数据分析利器,Power BI简明教程为Navicat正名,Navicat完全使用手册(下)除了会排序,你对ORDER BY的用法可能一无所知!50 款数据可视化分析工具大集合,总有一款适合你这是一个能学到技术的公众号,欢迎关注

点击「阅读原文」了解SQL训练营

这篇关于来了,Power BI制作GDP动态排行榜详细教程,超级简单!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/345045

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.