PowerBI基础
一、前言
在当今数据驱动的时代,如何高效地整理、分析并呈现数据,已成为企业和个人提升决策质量的关键能力。Power BI 作为微软推出的强大商业智能工具,正帮助全球用户将海量数据转化为直观、动态的可视化洞察。数据的世界充满可能性,而 Power BI 是你探索它的强大工具。现在,让我们用思维导图开启这段高效学习之旅,一起成为真正的数据洞察者!
此思维导图是本人在学习时候亲手独自完成的,学习的课程是马士兵集团的相关课程,内容相对基础!
本系列博客的初衷:以思维导图为核心框架,带你一步步拆解 Power BI 的核心技能树,构建清晰的学习路径。
二、思维导图
三、导图框架
- Power BI 介绍
- 家族产品
- Power BI DeskTop(Power BI)
- Power BI Service
- Power BI Mobile
- DeskTop安装
- 家族产品
- 导入数据
- 导入Excel数据
- 导入CSV数据
- 导入文件夹数据
- 直接合并导入
- 所有Excel表的 标题列 要一致
- 所有Excel表中 Sheet表名 要一致
- M函数导入
- M函数可以将文件夹中 标题列&Sheet表名 不一致的数据文件合并在一起
- 实操步骤
- ①导入文件夹后点转换数据
- ②除Content列外,其余删除
- ③添加自定义列,输入M公式
- =Excel.Workbook([Content],true)
- ④筛选自定义列中的“Data”值,并取消“使用原始列名作为前缀”
- ⑤点击筛选Data列,然后直接点“确定”后即可
- 直接合并导入
- 获取Web数据
- 网页是有规律的表格数据、多表格数据
- 使用示例添加表
- Power Query 使用
- 行删除
- 全是空值的行
- 部分为空值的行
- 重复数据的行
- 错误数据的行
- 列操作
- 列类型的转化
- 列值的替换
- 列的拆分
- 列的重命名
- 列的合并
- 重复列
- 条件列
- 自定义列
- 分组聚合
- 基本统计
- 高级统计
- 组合操作
- 追加查询
- 同Columns,上下拼接
- 合并查询
- 同Index,左右拼接
- 追加查询
- 行列变化
- 透视列
- 列值→列标题
- 逆透视列
- 列标题→列值
- 透视列
- 行删除
- 数据模型
- 模型关系
- 事实表
- 键值列
- 维度列
- 度量列
- 键值列
- 维度表
- 多属性列
- 事实表
- 管理关系
- 一对一关系
- 一对多关系
- 多对多关系
- 模型关系
- DAX表达式
- 新建度量值
- 注:创建好的度量值不会出现在表列里
- 快速度量值
- 新建列
- 通过DAX函数在表里创建新列
- 新建表
- 创建维度表
- Values
- values(表[列])
- 返回的是该列唯一值的新表
- values(表)
- 复制原表
- values(表[列])
- Distinct
- distinct(表[列])
- 返回的是该列唯一值的新表
- distinct(表)
- 返回具有不重复行的新表
- distinct(表的表达式)
- 针对“表的表达式”返回该表具有不重复行的新表
- distinct(表[列])
- Values
- 创建交叉联合表
- 类似合并查询,左右合并
- NATURALINNERJOIN(Table,VALUES(表[列标题]),...)
- natural inner join
- 创建纵向合并表
- 类似追加查询,上下合并
- union(Table1,Table2,...)
- 创建维度表
- 静态日期表
- 日历Calendar
- calendar(startdate,enddate):根据开始时间和结束时间生成顺序的时间列
- 例:表 = Calendar(date(2024,1,1),date(2024,1,30))
- 基本日期内容
- year([date]):获取日期对应的年份
- date(2022,01,01):获取日期格式的数据
- querter([date]):获取日期对应的季度
- month([date]):获取日期对应的月份
- day([date]):获取日期对应的天
- weekday([date],2):获取日期对应的周几,后面有type参数
- weeknum([date],2):获取日期对应的第几周
- calendar(startdate,enddate):根据开始时间和结束时间生成顺序的时间列
- 日期表addcolumns
- add columns: 是针对一张表来添加列
- format是格式化数据函数
- 例:表 = addcolumns(calendar(date(2022,01,01),date(2022,12,31) , "年份",YEAR([Date]) , "星期",FORMAT([Date],"AAA"),...):其中“星期列”输出是:周几
- 日历Calendar
- 动态日期表
- firstdate(某表中的日期列):获取日期最小值
- lastdate(某表中的日期列):获取日期最大值
- 例:addcolumns(calendar(firstdate(table[列]),lastdate(table[列])) , "年份",YEAR([Date]) , "星期",FORMAT([Date],"AAA"),...):其中“星期列”输出是:周几
- 创建空表函数
- selectcolumns
- select columns : 是基于一张表来创建新的列,而不是基于原表添加列
- SELECTCOLUMNS(表,"名称1","表达式1","名称2","表达式2"...)
- 例:表 = selectcolumns('table1' , "销售日期" , 'table1'[消费日期] , "消费时间" , 'table1'[消费时间] )
- selectcolumns
- 新建度量值
- DAX使用场景及函数
- 总和
- sum
- sum (table[列标题])
- sum
- 计数
- counta
- counta (table[列标题])
- distinctcount
- distinct count
- distinctcount (table[列标题])
- counta
- 相除
- divide
- divide(分子,分母,[分母为0或空时返回的值,默认为空])
- divide
- 排序
- all
- 返回表中所有的行或列的所有值,忽视应用的筛选器
- ALL([TableName Or ColumnName],[ColumnName]... ...)
- rankx
- 要与all函数联合使用,即去除筛选器的应用后进行排序
- rankx(表,表达式)
- 按照表达式进行排序
- 例:门店排序 = RANKX( ALL('门店信息'[商圈类型]) , '度量值表'[总营收金额] )
- all
- 占比
- calculate
- calculate(表达式,[筛选器1],[筛选器2]... ...)
- 针对表达式进行对数据的筛选应用
- 例:CALCULATE('度量值表'[总订单量] , '2022年点播订单表'[套餐名称]="单曲")
- 取出单曲的总订单量值
- divide
- 例:占比量 = DIVIDE(CALCULATE('度量值表'[总订单量],'2022年点播订单表'[套餐名称]="单曲"),'度量值表'[总订单量])
- calculate(表达式,[筛选器1],[筛选器2]... ...)
- calculate
- 累计
- TOTALYTD年度累计
- TOTALYTD(表达式,日期列,[筛选器],[截止日期])
- 按照时间列累计当前年统计
- 例:年累计营收 = TOTALYTD('度量值表'[总营收金额],'动态日期表'[Date])
- TOTALYTD(表达式,日期列,[筛选器],[截止日期])
- TOTALQTD季度累计
- TOTALQTD(表达式,日期列,[筛选器],[截止日期])
- 按照时间列累计当前季度统计
- TOTALQTD(表达式,日期列,[筛选器],[截止日期])
- TOTALMTD月度累计
- TOTALMTD(表达式,日期列,[筛选器],[截止日期])
- 按照时间列累计当前月统计
- TOTALMTD(表达式,日期列,[筛选器],[截止日期])
- TOTALYTD年度累计
- 同比与环比统计
- 同比
- SAMEPERIODLASTYEAR(日期列):返回去年同期数据
- 环比
- DATEADD(日期列,偏移量,偏移单位):根据指定的偏移单位和偏移量返回日期
- "日期列"参数指的是包含日期的列
- "偏移量"参数指定的是从日期列中需要添加或减去的时间间隔数
- "偏移单位"参数指的是Day,Month,Quarter,Year按照哪个时间维度偏移
- DATEADD(日期列,偏移量,偏移单位):根据指定的偏移单位和偏移量返回日期
- 同比
- TOPN统计
- TOPN(N值,表名,[度量值表达式],[升降序]):根据表达式来从表中获取TOPN结果
- 动态TOPN统计
- 新建参数
- 总和
- 可视化
- 对比分析图
- 表
- 矩阵
- 条形图
- 柱状图
- 组合图
- 丝带图
- 如:不同月份不同套餐的订单的数据(含排名)
- 趋势分析图
- 折线图
- 分区图
- 堆积图
- 占比分析图
- 饼图
- 环形图
- 树状图
- 用于展示较多分组信息
- 百分比堆积图
- 相关性分析图
- 散点图
- 气泡图
- 反映两个指标的相关性 和 数据的大小指标,还有播放轴
- 地图分析图
- 地图
- 着色地图
- 形状地图
- 需要各国家的josn文件
- 关键指标分析图
- 卡片图
- 多行卡图
- 仪表盘
- 展示目标值与实际值之间的对比情况
- KPI图表
- 要与切片器联动
- 过程分析图
- 漏斗图
- 瀑布图
- 数据随着时间或者过程的改变而不断变化的过程
- 原因分析图
- 分解树
- 按照不同的维度将指标不断的拆解从而发现各个维度可能存在影响指标的问题
- 分解树
- 图表设计交互操作
- 筛选器
- 切片器
- 钻取
- 针对层级结构
- 工具提示
- 可显示图
- 编辑交互
- 突出显示(默认)
- 筛选显示
- 无
- 主题
- 书签
- 按钮
- 对比分析图
四、结束语
作为初涉 PowerBI领域的初学者,我深刻明白自己的笔记与总结或许仍存有诸多不足甚至错误之处。在此,诚挚地恳请各位读者在阅读的过程中,一旦发现任何问题或者有更为精妙的建议,务必不吝赐教。您的指正无疑将成为我不断进步的强劲动力,更是我们一同学习、携手成长的坚实基石。
本文的创作凝聚了无数的心血与努力,实属不易。在此,恳请各位大佬们动动你们那无比宝贵的小手指,给予点赞、收藏以及关注!衷心感谢!后续我还会持续分享相关的学习资料与精彩内容哦。让我们在PowerBI的知识海洋中一同遨游,共同探索数据库的奥秘,为提升我们的数据管理能力和技术水平而不懈努力。期待与大家共同开启这场充满挑战与机遇的学习之旅,共同书写属于我们的数据库传奇。
相关文章:

PowerBI基础
一、前言 在当今数据驱动的时代,如何高效地整理、分析并呈现数据,已成为企业和个人提升决策质量的关键能力。Power BI 作为微软推出的强大商业智能工具,正帮助全球用户将海量数据转化为直观、动态的可视化洞察。数据的世界充满可能性…...

一文了解多模态大模型LLaVA与LLaMA的概念
目录 一、引言 二、LLaVA与LLaMA的定义 2.1 LLaMA 2.2 LLaVA 2.3 LLaVA-NeXT 的技术突破 三、产生的背景 3.1 LLaMA的背景 3.2 LLaVA的背景 四、与其他竞品的对比 4.1 LLaMA的竞品 4.2 LLaVA的竞品 五、应用场景 5.1 LLaMA的应用场景 5.2 LLaVA的应用场景 六…...
E-R图合并时的三种冲突
属性冲突 属性冲突指的是在合并两个实体时,相同属性的数据类型、取值范围或约束条件不一致。例如,一个实体中的“年龄”属性定义为整数类型,而另一个实体中的“年龄”属性定义为字符串类型,这就产生了属性冲突。 命名冲突 命名…...

原生小程序+springboot+vue+协同过滤算法的音乐推荐系统(源码+论文+讲解+安装+部署+调试)
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统背景 在数字音乐产业迅猛发展的当下,Spotify、QQ 音乐、网易云音乐等音乐平台的曲…...

【MySQL】项目实践
个人主页:Guiat 归属专栏:MySQL 文章目录 1. 项目实践概述1.1 项目实践的重要性1.2 项目中MySQL的典型应用场景 2. 数据库设计流程2.1 需求分析与规划2.2 设计过程示例2.3 数据库设计工具 3. 电子商务平台实践案例3.1 系统架构3.2 数据库Schema设计3.3 数…...
windows下authas调试tomcat
一般情况下,我们只需要输入以下代码 java -jar authas.jar调试tomcat时需要加上进程号 java -jar authas.jar <PID> 此外,如果你使用的是 Java 11 或更高版本,你需要添加 --add-opens 参数,以便 Arthas 能够访问 JVM 的内…...

回调函数应用示例
回调函数是一种通过函数指针(或引用)调用的函数,它在特定事件或条件发生时被另一个函数调用。回调函数的核心思想是将函数作为参数传递,以便在适当的时候执行自定义逻辑,常用于异步编程、事件驱动架构等场景。 业务场景…...

upload-labs通关笔记-第4关 文件上传之.htacess绕过
目录 一、.htacess 二、代码审计 三、php ts版本安装 1、下载ts版本php 2、放入到phpstudy指定文件夹中 3、修改php配置文件 4、修改php.ini文件 5、修改httpd.conf文件 (1)定位文件 (2)修改文件 6、重启小皮 7、切换…...

DeepSearch代表工作
介绍下今年以来深度搜索相关的一些论文~ 文章目录 Search-o1简述方法实验Search-R1简介方法带搜索引擎的强化学习多轮搜索调用的生成训练模板奖励建模实验R1-Searcher简介方法数据选择两阶段的强化学习训练算法ReSearch: Learning to Reason with Search for LLMs via Reinforc…...

记录一次服务器卡顿
一、服务器卡顿现象 服务用了一段时间后,突然很卡,发现在服务器上新建excel也很卡,发现服务器中病毒了,然后重新安装了操作系统。重新安装服务环境时,发现同时安装pdf、tomcat时都很慢,只能一个安装好了&am…...
C++ 中的几种锁机制整理
1. 互斥锁(std::mutex) ✅ 简介 最常用的线程同步工具。保证同一时间只能有一个线程访问临界区。 ✅ 使用方式 #include <mutex>std::mutex mtx;void safeFunction() {std::lock_guard<std::mutex> lock(mtx);// 临界区代码 }✅ 优点 简…...

leetcode2749. 得到整数零需要执行的最少操作数-medium
1 题目:得到整数零需要执行的最少操作数 官方标定难度:中 给你两个整数:num1 和 num2 。 在一步操作中,你需要从范围 [0, 60] 中选出一个整数 i ,并从 num1 减去 2i num2 。 请你计算,要想使 num1 等于…...

14 C 语言浮点类型详解:类型精度、表示形式、字面量后缀、格式化输出、容差判断、存储机制
1 浮点类型 1.1 浮点类型概述 浮点类型用于表示小数(如 123.4、3.1415、0.99),支持正数、负数和零,是科学计算和工程应用的核心数据类型。 1.2 浮点数的类型与规格 浮点类型存储大小值范围(近似)实际有效…...
Java 多线程基础:Thread 类核心用法详解
一、线程创建 1. 继承 Thread 类(传统写法) class MyThread extends Thread { Override public void run() { System.out.println("线程执行"); } } // 使用示例 MyThread t new MyThread(); t.start(); 缺点:Java 单…...

Vue3:脚手架
工程环境配置 1.安装nodejs 这里我已经安装过了,只需要打开链接Node.js — Run JavaScript Everywhere直接下载nodejs,安装直接一直下一步下一步 安装完成之后我们来使用电脑的命令行窗口检查一下版本 查看npm源 这里npm源的地址是淘宝的源࿰…...

显性知识的主要特征
有4个主要特征: 客观存在性静态存在性可共享性认知元能性...
使用pytest实现参数化后,控制台输出的日志是乱码
测试用例id显示的是乱码 问题 testcases/test_测试用例.py::TestPro::test_测试用例_用例1**[\u5fc3\u453g2]** PASSED [ 33%] 要让 pytest 在参数化测试中正确显示中文用例名称而非 Unicode 转义字符,可以通过以下两种方法 解决: 全局禁用测试 ID …...

自定义快捷键软件:AutoHotkey 高效的快捷键执行脚本软件
AutoHotkey 是一种适用于 Windows 的免费开源脚本语言,它允许用户轻松创建从小型到复杂的脚本,用于各种任务,例如:表单填充、自动点击、宏等。 定义鼠标和键盘的热键,重新映射按键或按钮,并进行类似自动更…...

【C++】 —— 笔试刷题day_30
一、爱吃素 题目解析 这道题,简单来说就是给定两个数a和b,然后让我们判断a*b是否是素数。 算法思路 这道题还是比较简单的 首先,输入两个数a和b,这两个数的数据范围都是[1, 10^11];10的11次方,那a*b不就是…...
React文件上传组件封装全攻略
React文件上传组件封装指南 在现代Web应用开发中,文件上传是一个常见且重要的功能。本文将详细介绍如何使用React封装一个高质量、可复用的文件上传组件,内容涵盖基础实现、高级特性、性能优化和最佳实践等方面。 基础文件上传组件实现 核心功能设计 一个完整的文件上传组…...
`ParameterizedType` 和 `TypeVariable` 的区别
在 Java 的泛型系统中,ParameterizedType 和 TypeVariable 是两个不同的类型表示,它们都属于 java.lang.reflect.Type 接口的子接口。两者都在反射(Reflection)中用于描述泛型信息,但用途和含义不同。 🌟 一…...
PSA Certified
Arm 推出的 PSA Certified 已成为安全芯片设计领域的黄金标准。通过对安全启动、加密服务以及更新协议等方面制定全面的要求,PSA Certified为芯片制造商提供了清晰的路线图,使其能将安全机制深植于定制芯片解决方案的基础架构中。作为对PSA Certified的补…...

项目版本管理和Git分支管理方案
文章目录 一、团队协作1.项目团队与职责2.项目时间线与里程碑3.风险评估与应对措施4.跨团队同步会议(定期)跨团队同步会议(双周) 5.版本升级决策树6.边界明确与路标制定a.功能边界划分b.项目路标制定b1、项目路标制定核心要素b2. 路标表格模板…...

蓝牙AVRCP协议概述
AVRCP(Audio/Video Remote Control Profile)定义了蓝牙设备和 audio/video 控制功能通信的特 点和过程,另用于远程控制音视频设备,底层传输基于 AVCTP 传输协议。该 Profile 定义了AV/C 数字命令控制集。命令和信息通过 AVCTP(Audio/Video Control Trans…...

2025长三角杯数学建模B题思路模型代码:空气源热泵供暖的温度预测,赛题分析与思路
2025长三角杯数学建模B题思路模型代码,详细内容见文末名片 空气源热泵是一种与中央空调类似的设备,其结构主要由压缩主机、热交换 器以及末端构成,依靠水泵对末端房屋提供热量来实现制热。空气源热泵作为热 惯性负载,调节潜力巨…...

基于大数据的租房信息可视化系统的设计与实现【源码+文档+部署】
课题名称 基于大数据的租房信息可视化系统的设计与实现 学 院 专 业 计算机科学与技术 学生姓名 指导教师 一、课题来源及意义 租房市场一直是社会关注的热点问题。随着城市化进程的加速,大量人口涌入城市,导致租房需求激增。传统的租…...

下周,Coinbase将被纳入标普500指数
Coinbase加入标普500指数紧随比特币突破10万美元大关之后。加密资产正在日益成为美国金融体系的一部分。大型机构已获得监管批准创建现货比特币交易所交易基金,进一步推动了加密货币的主流化进程。 加密货币行业迎来里程碑时刻,Coinbase即将加入标普500…...
C++(17):引用传参
目录 一、核心概念 二、代码示例:对比指针和引用 1. 指针传参的问题 2. 引用传参的改进 三、引用传参的优势 四、总结 一、核心概念 别名机制:引用是变量的别名,操作引用等同于操作原变量。 避免拷贝:直接操作原始变量&…...
文章记单词 | 第82篇(六级)
一,单词释义 continual /kənˈtɪnjuəl/- adj. 持续不断的;频繁的instinct /ˈɪnstɪŋkt/- n. 本能;直觉weekday /ˈwiːkdeɪ/- n. 工作日(周一至周五)glove /ɡlʌv/- n. 手套process /ˈprəʊses/- n. 过程&a…...
30天通过软考高项-质量论文
近年来,尤其随着5G技术的普及及使用,JZ各单位接入数据的类型及容量呈现明显上升趋势,电信诈骗等案件频发,且GA部明确各地的国产化时间要求。TJ原有的大数据应用系统已无法满足完全满足jz单位对大数据的使用的要求。TJJZ总队于23年12月正式启动算力中心项目,该项目合同额13…...