首页
学习
活动
专区
圈层
工具
发布

1.0 PowerBI数据准备-导读

加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,还可以提问交流。...PowerQuery是PowerBI的组件,也是Excel的组件,还是一个独立的模块,为很多微软的其他下游工具做数据准备。...业务人员可以不深入研究M语言,通过鼠标“点点点”操作,查看高级编辑器中的代码,学会读代码和简单修改代码,使用一些常用函数,就可以满足大部分数据获取和清洗需求。...常用的功能包括:获取数据、表处理(提升标题、筛选、删除列、逆透视、分组、数据类型等)、列处理(填充、替换、去重、列命名、列排序等)、拆分列、添加列、数据合并(追加查询、合并查询)等。...这些功能的使用顺序通常是先通过筛选、删除列减少要处理的数据量,然后再使用尽可能少的步骤去完成后续的清洗工作,比如多个表先追加查询为一个表再做其他处理。

22900
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于Excel2013的PowerQuery入门

    关系图.png 简而言之:获取——>分析——>呈现——>发布 1.数据导入Power Query并进行追加查询 新建一个空的excel文件,在导航栏的POWER QUERY中选择从文件——>从Excel...追加查询1.png ? 追加查询2.png ? 关闭并上载1.png 点击上面的按钮,回到Excel界面, 出现下图所示的工作簿查询。 ?...成功替换.png 可以将下图与结果表进行对照 ? 成功加载.png 4.数据的拆分合并提取 打开下载文件中的04-数据的拆分合并提取.xlsx,如下图所示。 ?...加载数据到PowerQuery中.png 客户首次购买分析 选定下单日期这一列,进行升序排序。 ? 下单日期升序排序.png 选定客户名称这一列,进行删除重复项 ?...转置结果.png 如果上载位置有偏差,自己可以移动表格位置调整至上图所示效果 8.透视和逆透视 打开下载文件中的08-透视和逆透视.xlsx,如下图所示 ?

    11.7K50

    1.18 PowerBI数据准备-追加查询,删除冗余的过程子表

    追加查询的本质是靠Table.Combine函数实现的,通过简单的代码调整,可以实现一个查询搞定多表追加。举例以下面一组和二组两个表为例,把共有的列姓名和数量追加在一起。...先实现普通追加查询,再生成一个可删除过程表的追加查询。一组二组操作步骤STEP 1 PowerQuery获取多个表的数据后,将多个表的列名、列数做对齐处理,列的顺序不需要考虑。...图片STEP 3 通常是先追加,再继续进行相应清洗处理,可以避免重复的操作步骤,比如数据类型调整、值替换等。至此,就完成了普通追加查询。...点击菜单栏主页下的高级编辑器可以看到,Table.Combine函数将两个表追加到了一起。STEP 4 修改追加查询的代码。...然后增加一个Table.Combine的步骤,参数放每个表处理的最后一步,就可以是实现一个查询追加多个表了。

    35510

    不用编程,教你轻松搞定数据地图

    利用Excel2016版的PowerQuery的数据爬取功能爬取网页表格; 利用XGeocoding_v2工具批评解析地址经纬度; 利用PowerBI、Tableau制作数据地图。...通过预览观察之后,我们发现一千强的表格是从table6~table13内,获取8个表格之后,通过查询编辑器中的数据追加,将这些变革追加为一个表格。...通过批量追加合并之后,你可以得到一个810个记录的中国2017大学质量排行榜(不代表个人观点,这个是网页的标题)。 ? ?...(注意,此时设定输出的时候,如果你是地址解析经纬度,只需指定地址列,经纬度菜单空白,如果是经纬度解析地址,则地址留空,经纬度设置好对应列,输出格式一般百度地图就可以了)。 ? ?...然后使用刚才导入的经纬度数据分别拖拽至对应菜单栏目; 根据我们需要将分类或者连续性字段拖入对应颜色、大小便签内,可以完后才能数据地图制作。

    2.4K61

    1.26 PowerBI数据准备-刷新报错的排查与处理

    加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。刷新遇到报错,要在PowerQuery中排查。...2 找不到列如果数据源的字段发生了变化,减少了列,但PowerQuery的代码不会随之改变,还会引用字段的名称,会导致刷新时报错,提示找不到列。...图片解决方法如果这个列有用,需要完善数据源;如果这个列是因为没用在数据源删除的,在PowerQuery中刷新预览,找到报错的步骤,将相关的代码清除。本例是对数量列更改了数据类型,删除对应代码即可。...解决方法点击查看错误,PowerQuery会把错误的记录单独生成一个查询,点击Error的单元格,下方会提示它是文本“a”,“无法转换为Number”。此时去数据源中找到相应记录,完善数据源就可以了。...解决方法这种情况,可以先打开PowerQuery,点击菜单栏主页下刷新预览的黑色小三角,选择全部刷新,此时会需要一段时间,让PowerQuery预览安排所有的查询,等到按钮颜色从灰色变回绿色后,关闭PowerQuery

    89610

    VLookup及Power Query合并查询等方法在大量多列数据匹配时的效率对比及改善思路

    PowerQuery进行合并查询的思想是否可能借鉴用于公式查询?...那么,如果我们在公式中也可以做到只匹配一次,后面所需要取的数据都跟着这次匹配的结果而直接得到,那么,效率是否会大有改善呢?...于是,我首先用Match函数构建一个辅助列,用于获取匹配位置,如下图所示: 然后,通过Index函数,直接根据辅助列的位置从订单表里读取相应的数据,如下图所示: 分不同情况执行如下: 单独填充位置列...(Match公式列),用时约15秒; 同时根据已匹配的位置列填充G:L列(Index公式全部列),用时约1秒(双击填充柄直接出现进度条,不出现“正在计算,##%”过程); 位置列和其他数据列同时填充...七、结论 在批量性匹配查找多列数据的情况下,通过对Index和Match函数的分解使用,先单独获取所需要匹配数据的位置信息,然后再根据位置信息提取所需多列的数据,效率明显提升,所需匹配提取的列数越多,

    6.2K20

    BI-SQL丨UNION

    UNION语句 UNION语句类似于PowerQuery中的追加查询,可以将两个表或者两个数据集进行上下合并。DAX函数中也有UNION,而且用法上有很大的相似。...UNION使用要求两个数据集列的数量相同,两个数据集列的数据类型完全一致,且列的顺序也需要保持一致。 除了UNION之外,还有UNION ALL语句。...例子3: 在PowerBI中使用UNION语句将两张表中的商品分类列进行合并。...对比其他BI类软件而言,微软的PowerBI兼容性更强,可以兼容很多其他的语言。 比如说:Python、R语言、SQL语言、Mysql语言等等。...因为PowerBI作为平台可以兼容这些语言,同样也是要遵循原本这些语言的要求的。 比如说:Mysql为了区分关键字与普通字符,引入了反引号。

    1.3K20

    1.6 PowerBI数据准备-数据类型及M语言中的数据类型转换

    Excel的文本类型的数字可以进行加减运算,Excel的日期本质上是个天数数字可直接进行加减运算,Excel的数字类型的数字也可以用"&"连接,但PowerQuery就不能直接这么做。...数据导入PowerQuery后,使用这个日期时间列与日期表建立关系,在画布中,会发现很多交易数据都没有和日期表对应上,而是对应在空白上。...解决方案 只需要把数据的日期时间列中的日期提取出来,再去用这个日期列和日期表建立关系就可以了。...打开PowerQuery,点击数据表的日期时间列标题左侧的数据类型图标,选择日期,在跳出的对话框中选择添加新步骤。图片也可以选中日期时间列,点击菜单栏转换下的日期,选择仅日期,结果是一样的。...提示:1 如果时间点有分析需要,可以先进行复制列操作,再进行上述操作。2 虽然DAX也可以提取日期,但因为此操作属于数据清洗的范畴,建议在PowerQuery中处理。

    38710

    VLookup等方法在大量多列数据匹配时的效率对比及改善思路

    PowerQuery进行合并查询的思想是否可能借鉴用于公式查询?...那么,如果我们在公式中也可以做到只匹配一次,后面所需要取的数据都跟着这次匹配的结果而直接得到,那么,效率是否会大有改善呢?...于是,我首先用Match函数构建一个辅助列,用于获取匹配位置,如下图所示: 然后,通过Index函数,直接根据辅助列的位置从订单表里读取相应的数据,如下图所示: 分不同情况执行如下: 单独填充位置列...(Match公式列),用时约15秒; 同时根据已匹配的位置列填充G:L列(Index公式全部列),用时约1秒(双击填充柄直接出现进度条,不出现“正在计算,##%”过程); 位置列和其他数据列同时填充...七、结论 在批量性匹配查找多列数据的情况下,通过对Index和Match函数的分解使用,先单独获取所需要匹配数据的位置信息,然后再根据位置信息提取所需多列的数据,效率明显提升,所需匹配提取的列数越多,

    7K50

    Power BI里的两处数据类型设置有什么不同,从一次数据空白与计算错误说起

    问题描述 以下是数据表 示例文件只有两列,一列订单日期,显示数据类型为日期(时间范围是2022-2023年);一列销售额,数据类型为小数。...两个表之间建立了正确的一对多关系: 正确书写了两个度量值: sales1 = SUM(data1[销售额]) 年累计1 = TOTALYTD([sales1],'日期表'[Date]) 但是,拖入矩阵时,显示如下: 数据表中可以看到...我们将数据表的订单日期列的数据类型设置为日期/时间,我们就会发现端倪,原来它隐含了时间信息: 此时我们去到powerquery里面查看,这一列果然是日期/时间格式: 原来是客户原来的数据文件就是带有时间格式...解决问题 只是一个小问题,我们只需在powerquery里将这一列订单日期设置为日期格式,就解决了。...总结 从这个小的问题中,有几点想要跟大家分享: 1、尽量不要让powerquery自动设置字段格式,它很有可能会将数据设置成不是我们想要的,可以在设置中将其关闭。

    63310

    1.7 PowerBI数据准备-筛选最新月份的数据

    加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。数据获取后,通常会先筛选,只保留有效数据,提高后面的处理效率。...静态筛选很简单,从列标题点击筛选就好了;动态筛选往往更具实用性,比如客户对应的岗位每个月都会有变化,但报告只需要给用户用最新月份的岗位查看数据。...解决方案只需要在PowerQuery中做个简单的处理,给筛选配上一个动态的筛选值,就可以实现动态筛选最新月份的数据了。...操作步骤STEP 1 把带历史年月(格式是数字,如202211)的数据导入PowerQuery,将年月列的类型改为整数。STEP 2 增加一个筛选步骤,点击年月列标题上的筛选按钮,选择任意一个值。...拓展通过其他参数,比如做一个每月第几天的参数,根据条件判断,指定每月的第几天开始切换筛选最新月份。

    32710

    【强强联合】在Power BI 中使用Python(2)

    再比如,我们想提取数据的某列,比如上面这张表的“key2”列,我们可以点击运行Python脚本,并写入如下的代码: ?...(power query自动对Python添加 #(lf) 用来进行转义) 当然,以上所说这些功能直接在powerquery中就可以实现,甚至更简单便捷,所以上述内容都是些: ? 吗? 并!不!是!...以上只是在循序渐进地告诉大家,powerquery中是可以用Python进行数据清洗的,并且清楚地告诉大家调用Python的方法,大家应该很熟练了吧。 以下才是重点(当然上面也是): ?...在IDE中运行无误后复制到powerquery的Python脚本编辑器中: ? 点击确定,返回结果: ? 后面两列就是我们想要的手机号和邮箱了。...这样我们就实现了在powerquery中使用正则表达式对数据进行清洗的目的。 ? 当然,也可以调用R、PHP或者js来实现相同的目的,方法大同小异,各位读者可以自行研究。

    4K31

    2.6 PowerBI数据建模-新建列的4种方法及其优先级

    新建列方法新建列的可以在4个环节内完成:数据源、PowerQuery、VAR过程列、DAX计算列。数据源:在上游数据源(数据库或文件)中新建列,然后直接导入PowerBI使用。...PowerQuery:在数据清洗的过程中添加列,处理后加载到模型。VAR过程列:不生成物理列,在计算列的计算过程中,使用VAR现调取现使用,用后抛弃。...1 充分利用模型,因为有关系的存在,能不新建列就不要新建列。维度表中的列可以直接用于报告,没必要使用RELATED新建计算列。2 在计算列或度量值中使用过程列。...比如订单表中的金额列=单价*数量,单价来自于另外的价格表(有无关系不重要),没有必要为了计算金额列在订单表中新建一个单价列,VAR获取到当前行对应的另外一个表的价格就可以了。...4 数据源不方便调整的话,能在PowerQuery中添加列,就在PowerQuery中添加列。

    42100

    个人永久性免费-Excel催化剂功能第53波-无比期待的合并工作薄功能

    不止于小白用户适用,连高级用户也可以高频地使用。...同时PowerQuery真是难得的好用的数据ETL工具,对于少量数据来说。...以上所示的是常见到的一些数据不规则情况,实际中也常发生,对PowerQuery来说,部分场景还可适用,但列名不同需要不同列名重新检验时,大部分插件和PowerQuery都很难支持,以下可看Excel催化剂效果展示...经过罗列出的工作表标题信息后,可以对数据的结构做初步分析,排除异常的工作表数据或对异常数据进行修复后再重新操作。大大地增强了程序的通用性和健壮性。...通过整理后,对字段名重新映射,及最终需要抽取的数据列进行整理 整理内容为: 删除不需要抽取的无用列(前面3列是有用信息,后面字段开始的列才是可以删除的) 调整了列的位置,将原有的列5、列8调整回恰当位置

    1.5K50
    领券