powerquery追加查询如何将导入数据表头不显示null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powerquery追加查询如何将导入数据表头不显示null相关的知识,希望对你有一定的参考价值。

powerquery追加查询如何将导入数据表头不显示null,方法如下:
1、打开Power BI Desktop,点击“主页”-》查询组-》转换数据,就打开了Power Query编辑器。

2、在打开Power Query后进行简单的操作:

(1)加载原始数据到编辑器:主页-》新建源-》Excel-》选取Excel文件-》点击打开,然后再编辑器的“查询设置”窗格中的“应用步骤”中会记录下每一步的操作。

(2)编辑代码命令

Power Query编辑器的“添加列”选项卡-》“常规”组-》“自定义列”按钮中。
参考技术A 关于空值的运算经常被提及。平时接触到的源数据常常有空值,比如Excel数据中的空白单元格,powerquery中会显示为null,大多数时候,我们并不能简单粗暴的删除其中的空值,而是需要在PQ中对数据进一步运算整理。

如果对空值直接进行运算,得到的还是空值,这可能并不是我们期望的结果,那么本文就提供一个空值运算的思路。

假设数据如下,



首先测试一下PowerQuery中null的运算结果,比如两列相加,直接用“+”,新建列,



结果如下:



null+数字=null

null参与运算的结果也都成了null。

这是因为在PowerQuery运算中:null+数字=null

那么如何能让null+数字=数字呢,可能大家想到的一个办法是null使用0来替换,这样确实能得到正确的结果。

但是null毕竟和0是有差别的,假设都替换为0,然后又出现两列相乘的需求,是不是又悲剧了:(

下面就说一个不用替换的方法:使用List类函数。

依然以两列相加为例,相加用List.Sum函数,



结果如下,



null+数字=数字

这样的结果是不是就舒服多了!

这样就做到了:null+数字=数字,从这个运算结果来看,null在List.Sum运算中默认为0。

那如果相乘呢,可以使用List.Product函数,



null*数字=数字

在这个乘法运算中,null*数字=数字,null在其中又相当于是1啦。

我们还可以进一步测试最大值和最小值,其结果如下:

List.Max(null,数字)=数字

List.Min(null,数字)=数字

是不是感觉很奇怪?

其实无论null和数字进行何种运算,其结果都是数字,null就像压根不存在一样,不参与数字运算,把它当成真空就好。

所以在List类函数的运算中,null才是真正实现了做自己,无论与数字怎么运算,最终的结果都是数字。

总结

以加法为例(其他类型的运算与加法类似):

如果你想要的结果是null+数字=null,直接使用运算符号"+";

如果你想要的结果是null+数字=数字,使用List.Sum函数;

最后友情提醒,List运算的结果上载到数据模型后默认为文本型,所以上载前请先在PowerQuery中将其更改为数值型哦。
参考技术B 答:
1. 首先确保你在PowerQuery中导入的原始数据表头不显示null;
2. 然后,在PowerQuery编辑器中,在“变换”标签中,选择“更改类型”选项,并将null列表改为正确的列表名称;
3. 最后,在PowerQuery编辑器中,在“转换”标签中,选择“使用分组列”选项,并将null列作为“分组列”。此时,PowerQuery会将所有null列自动转换为正确的表头,右键会自动显示正确的表头。
参考技术C 在从文件夹导入数据时,如果自定义M函数是=Excel.Workbook([Content],true)会产生楼主所说的现象。这里的true是将第一行作为标题。但如果将true 删除变成=Excel.Workbook([Content]),导入数据后,再将第一行提升为标题,再将另两行标题筛选出去,就不会发生上述现象。具体原因,本人也说不清楚。

 

解决方法:

1. 估计你在使用从文件夹做追加查询;
2. 三个数据表的结构以及标题行都是一致的 对不对;
3. 要在示例转换文件查询上做文章 将提升的标题步骤删除 然后添加索引列 这样标题行实际就会被赋予0这个值,关闭并上载
4. 进入最后查询的设置 将最后一步删除,提升标题,筛除索引号为0的记录(其他两表的标题行),修改完毕,关闭并上载
参考技术D 对于PowerQuery追加查询,可以使用“Replace Values”转换操作移除null值,具体操作步骤如下:1、打开“转换”菜单;2、选中“替换”;3、勾选“value or column to replace”;4、在“values to replace”中选择“null”;5、然后在“replace with this value”中输入空白即可。

PowerQuery

参考技术A 查询设置位置

加入新文件

查询编辑器里无法直接更改数据,需要在上面的功能区里更改数据

合并文件: 合并查询(横向合并),追加查询(纵向合并)

选择多个表格 :按shift

如果报错,第一个查数据类型是否错误

修整和清除

拆分列

合并列

替换

判断奇偶数

删除规则: 默认保留第一行

排序和删除重复项同时使用会有冲突,解决办法: 转换---检测数据类型(排序后的箭头要消失)

保留重复项同理

先改数据类型制造错误,然后直接删除错误

行列互换

二维转一维,找二维表中以行的形式出现的字段,把这些字段进行逆透视(一维表:一个指标只有一个列;二维表:同个指标很多列)

一维转二维,找一维表中以列的形式出现的字段,把这些字段进行透视

                                                                             数字排序按照,1,10,11,12,~19,2,20,21......的顺序,用怕排序更改

值为文本时,选择不要聚合

基本

第一行内容是选择分组条件

新列名:新建的列命名                操作:进行各种操作                柱:进行操作的列

高级

可以添加多个选择分组的条件

所有行

                                                                               展开:打开选中列的信息                     聚合:对选中列进行计数和求和

条件列:创建一个按条件添加当前所选列中的值的新列

索引列:创建一个新的列,其索引从0,1,或者自定义的数开始

重复列:创建一个新的列,复制当前所选列的值

自定义列(所有公式内的标点符号的都用英文输入法)

            条件列文本:公式:“文本”

            数值运算:公式:插入一个可用列+,-,*,/插入一个可用列

            条件列:公式:

怎么将仅创建连接的数据导入工作表:查询和链接找到查询,然后右键点击加载到

若列名顺序不同,则合并时列名自动按照当前表格的列名顺序排序

若列名不同,则合并后自动生成空格

求每个区域内产品分类的金额

求每个区域每个产品的折扣金额

左外部:A,B,C,D,E;   D,E

右外部:D,E;   D,E,F,G

完全外部:A,B,C,D,E;  D,E,F,G

内部:D,E;   D,E

左反:A,B,C;   

右反:    ;F,G

以上是关于powerquery追加查询如何将导入数据表头不显示null的主要内容,如果未能解决你的问题,请参考以下文章

PowerQuery

power query中M函数和处理数据

Power Query初识

如何利用PowerQuery合并文件下的文件

查询条件选择参照生单?

Excel PowerQuery:数字列中的空值