Power BI学习(数据可视化)

另一个也可以的工具是:Tableau

还有一个是:神策,主要是用于互联网的app的数据埋点

数据分析的过程:

数据源--数据清洗(power query)-构建指标 新建度量值(power pivot)-可视化(power view)-报表完成


我使用的PowerBI版本

一 获取数据

1.连接MySQL数据库

如果要连接MySQL,那么在MySQL安装路径下要安装mysql-connect-net,(我是本地电脑,如果数据库在服务端,那么需要放在服务端)下载地址MySQL :: Download MySQL Connector/NET (Archived Versions)

双击安装后

powerBI主页--获取数据--更多--数据库--MySQL数据库

 

输入数据库和用户后,就可以获取数据库的数据了

2.导入execl数据

导入后,可以查看表之间的关系

二 操作数据(数据清洗)

主页--转换数据--转换数据

打开的是Power Query编辑器

可以编辑数据的类型,行列转换,增删列,提取,分组等操作

设置完即可“关闭并应用”

三 数据可视化

下面的新建列操作是数据建模的一部分:

在数据页面,新建一个某几列数据合在一起计算的列

选择表,右键--新建列--输入公式--确认

1. 地图

比如:查看门店分布及销售情况

1)插入--新建视觉对象

2)对象可以拉到合适的位置。然后,选择对象 --选择“可视化”的“地图”

3)将数据表中的门店的国家字段拉入地图中

 把销售额也拉入地图中,最后效果如下:

然后点击上图的“焦点模式”模式 

2.着色地图

1.新建视觉对象

2.选择“着色地图”

3)拉入国家和销售额

3. 柱形图、饼状图

4. 矩阵(透视表)

不同产品在不同国家的销售额 

设置视觉对象格式,可以优化透视表

美化后效果:(若设置字体大小,搜索“大小”,然后进行设置)

5.词云

获取更多视觉对象--word cloud

根据自己的需要进行优化

6.雷达图

获取更多视觉对象--Radar Chart

四 数据建模

(1)管理关系

可以删掉默认的关系,新建自己的关系

(2)新建表

如果要新建表,不要直接用“新建表”的功能,而是通过空白查询的方式(主页--获取数据--空白查询--输入数据--添加表名--确定)

以下是新建一张名称为“度量值表”的表(为了方便下面第(4)步的操作,所以取名“度量值表”,也可以根据自己的需要命名)

 创建完记得“关闭并应用”

然后,在数据中可查看到新建的表 

(3)新建列

最好是用新建度量值,而不用新建列(列会占内存,度量值不会

(4)新建度量值

  • 常用函数

a.迭代函数

函数作用
    SUMX('表',算术表达式)    求和
   AVERAGE('表',算术表达式)    平均值
    AVERAGEX('表',算术表达式)    算术平均值
    MAXX('表',算术表达式)    最大值
    MINX('表’,算术表达式)    最小值
    COUNTX('表',算术表达式)    记录数
COUNTAX函数('表',算术表达式)    计算列中单元格不为空的数目
    PRODUCTX('表',算术表达式)        PRODUCTX('表',算术表达式)   

b. 计算函数

FILTER 的表,必须是维度表,唯一表。

Filter 常用方法:
1.搭配Calculate

Calculate(表达式(度量值),Filter('表名',筛选条件))

在Calculate函数中的直接筛选条件里,我们只能输入:
‘表'[列]= 固定值    或‘表列1<>固定值    
‘表'[列]>= 固定值或‘表’[列]<=固定值‘表[列]>固定值或‘表[列]<固定值

但是遇到如下情况,就要使用Filter函数

[列]=[度量值]、[列]=公式、[列]=[列]
[度量值]=[度量值]、[度量值]=公式、[度量值]=固定值

  • 运用

<1> 新建度量表

为了统一管理度量值,可以新建一张“度量值表”,根据上面(2)操作中的方法

比如要计算store_cost的平均值,那么就新建一个度量值(表工具--新建度量值)。

<2>  使用AVERAGE函数(平均值)

点击“度量值表”,右键“新建度量值”

 

store_cost平均值 = AVERAGE('mayfood sales_fact_1998'[store_cost])

注意:这时候查看度量值时,页面不会有任何的显示

 在报表试图中,新建视觉对象,选择“表格”,拉入度量值,就可以看出结果

增加门店Id维度

<3>  使用Calculate函数(条件语句)

比如筛选store_cost大于其平均值的数据,并对其进行平均值计算

同样使用度量值

步骤一:筛选store_cost大于其平均值的数据

Filter('表名',筛选条件)

FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost]))

步骤二: 使用Calculate函数

Calculate(表达式(度量值),Filter('表名',筛选条件))

store_cost大于平均值 = CALCULATE(AVERAGE('mayfood sales_fact_1998'[store_cost]),FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost])))

增加城市维度

更多筛选条件

A.

多个筛选条件 = CALCULATE(AVERAGE('mayfood sales_fact_1998'[store_cost]),FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost])),'mayfood sales_fact_1998'[store_id] = "1")

 B.

CALCULATE(AVERAGE('mayfood sales_fact_1998'[store_cost]),FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost])),'mayfood sales_fact_1998'[store_id] in {1,12})

 如果in{}里面是文本,那么应该加双引号" "

 

C. 如果是排除某几个,则用not

 

 

(5)分组

 

结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建一个前端智能停车可视化系统

引言 随着城市化进程的加速&#xff0c;停车难问题日益突出。智能停车可视化系统通过实时展示停车场的车位信息&#xff0c;帮助用户快速找到空闲车位&#xff0c;提高停车效率。 目录 引言 一、系统设计 二、代码实现 1. 环境准备 2. 安装依赖 3. 创建停车场组件 4. 集…

MAC IntelliJ IDEA搭建Doris Fe

目录 版本信息 安装环境依赖 拉取源码 下载 Doris 编译依赖 修改系统最大文件句柄数 编译 Doris 配置 Debug 环境 生成 FE 代码 FE模块代码导入 配置 Debug FE 启动 FE 报错问题 版本信息 本次安装的doris版本信息为doris-2.1.0-rc11 IntelliJ IDEA 配置jdk17、m…

数据之王国:解析Facebook的大数据应用

引言 作为全球最大的社交媒体平台之一&#xff0c;Facebook拥有庞大的用户群体和海量的数据资源。这些数据不仅包括用户的个人信息和社交行为&#xff0c;还涵盖了广告点击、浏览记录等多方面内容。Facebook通过巧妙地利用这些数据&#xff0c;构建了强大的大数据应用系统&…

Web框架开发-Django模型层(数据库操作)

一、ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动ORM是“对象-关系-映…

拌合楼管理系统(八) c#海康威视摄像头车牌识别

前言: c#调用海康威视SDK实现车牌识别 原本以为海康威视sdk的Demo里面没有车牌识别的实例,后来发现自己肤浅了,官方是有提供的,只是车牌识别是通过安防布警的方式实现的.程序主动监听,触发告警后获取到车牌信息. 一、接口调用的流程&#xff1a; 首先初始化sdk -> 开…

SQLiteC/C++接口详细介绍sqlite3_stmt类(四)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;三&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;五&#xff09; 7. sqlite3_bind_parameter_count函数 sqlite3_bind_param…

流畅的 Python 第二版(GPT 重译)(十一)

第二十章&#xff1a;并发执行器 抨击线程的人通常是系统程序员&#xff0c;他们心中有着典型应用程序员终其一生都不会遇到的用例。[…] 在 99%的用例中&#xff0c;应用程序员可能会遇到的情况是&#xff0c;生成一堆独立线程并将结果收集到队列中的简单模式就是他们需要了解…

Java newInstance方法学习

用newInstance与用new是有区别的&#xff0c;区别在于创建对象的方式不一样&#xff0c;前者是使用类加载机制&#xff1b; newInstance方法要求该 Class 对应类有无参构造方法&#xff1b; 执行 newInstance()方法实际上就是使用对应类的无参构造方法来创建该类的实例&#x…

YOLOV4-车道线检测-车距离预测

1.前言 最近在看华为的CANN框架&#xff0c;发现了一些很有意思的开源算法(本文所有的代码都出自华为开源git发布的代码)&#xff0c;华为最近出了AI PRO开发板&#xff0c;想着现在开发板上用用(不想重新配置环境了&#xff0c;麻烦还累)&#xff0c;看着代码有onnx的模型&…

绝地求生:PUBG延长GPU崩溃时间新方法

相信大家都在被GPU游戏崩溃苦恼已久&#xff0c;PUBG这个游戏崩溃&#xff0c;跟超频是没有多大关系的&#xff0c;只要超频TM5过测&#xff0c;YC过测&#xff0c;或者双烤过测&#xff0c;就没问题。主要是这个游戏的优化不行&#xff0c;特别40系显卡&#xff0c;对内存条也…

免费AI出图神器:StableStudio——定义AI作画新前景

StableStudio&#xff1a;探索艺术与科技的无限交界&#xff0c;StableStudio引领AI智能创作新浪潮&#xff01; - 精选真开源&#xff0c;释放新价值。 概览 ChatGPT大语言模型AI的诞生引爆了对AIGC的讨论。AIGC 又称生成式 AI (Generative AI)&#xff0c;是继专业生产内容&…

Python 全栈体系【四阶】(十七)

第五章 深度学习 一、基本理论 3. 深度神经网络训练法则 3.1 损失函数 3.1.1 什么是损失函数&#xff1f; 损失函数&#xff08;Loss Function&#xff09;&#xff0c;也有称之为代价函数&#xff08;Cost Function&#xff09;&#xff0c;用来度量预测值和实际值之间的差…

html5cssjs代码 029 CSS计数器

html5&css&js代码 029 CSS计数器 一、代码二、解释 该HTML代码定义了一个网页的结构和样式。在头部&#xff0c;通过CSS样式定义了body和h1-h2元素的样式。body元素的样式包括文本居中、计数器重置、字体颜色和背景颜色。h2元素的样式使用了CSS计数器来自动在标题前添加…

RIDE控制台中文显示为乱码问题解决方案【版本1.7.4.1】

1、方法&#xff1a; 将 C:\Users\user_name\AppData\Roaming\Python\Python37\site-packages\robotide\contrib\testrunner\testrunnerplugin.py文件中的第80行修改&#xff0c;改为utf-8 2、修改代码位置&#xff1a; 3、效果&#xff1a; 4、参考文章 试了前面的方法没有…

Python 深度学习第二版(GPT 重译)(一)

前言 序言 如果你拿起这本书&#xff0c;你可能已经意识到深度学习在最近对人工智能领域所代表的非凡进步。我们从几乎无法使用的计算机视觉和自然语言处理发展到了在你每天使用的产品中大规模部署的高性能系统。这一突然进步的后果几乎影响到了每一个行业。我们已经将深度学…

【C语言】结构体内存对齐问题

1.结构体内存对齐 我们已经基本掌握了结构体的使用了。那我们现在必须得知道结构体在内存中是如何存储的&#xff1f;内存是如何分配的&#xff1f;所以我们得知道如何计算结构体的大小&#xff1f;这就引出了我们今天所要探讨的内容&#xff1a;结构体内存对齐。 1.1 对齐规…

【Redis】Redis常见原理和数据结构

Redis 什么是redis redis是一款基于内存的k-v数据结构的非关系型数据库&#xff0c;读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。 redis的数据类型 string&#xff1a;字符串 缓存对象&#xff0c;分布式ID&#xff0c;token&#xff0c;se…

1236 - 二分查找

代码 #include<bits/stdc.h> using namespace std; int a[1100000]; int main() {int n,x,l,r,p,mid,i;cin>>n;for(i1;i<n;i)cin>>a[i];cin>>x;l1;rn;p-1;while(l<r){mid(rl)/2;if(a[mid]x){pmid;break;}else if(x<a[mid]) rmid-1;else if(x…

微软聘请了谷歌DeepMind的联合创始人

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

​HTTP与HTTPS:网络通信的安全卫士

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; ✨✨ 帅哥美女们&#xff0c;我们共同加油&#xff01;一起进步&am…