Power Query中避免刷新出错的注意事项

(一) 仔细检查公式栏

不同的公式空运达到同样的效果,所以观察产生结果的公式就很重要,别把公式栏给隐藏了,需要打开它,如图1所示。
例如:
删除列和删除其他列可能得到的效果是一样的,但是如果数据有变动刷新后得到的结果却有可能不同。

Table.RemoveColumns(源,{"成绩", "学科"})
Table.SelectColumns(删除的列,{"姓名"})
图1  打开公式编辑栏
图1 打开公式编辑栏

(二) 删除不必要更改的类型

很多时候错误的原因在于改变数据类型的时候出错,尤其是在提升标题等动作后会自动生成,如图2所示。在Power Query中对于数据的类型要求比较严格,如果在中间步骤不是计算必要的数据类型,可以暂时不更改,而等到最后的时候在进行数据类型的更改,这样也能够更方便的发现问题的所在。

图2  自动更改数据类型
图2 自动更改数据类型

(三) 使用动态参数而不是固定参数

如果数据不是固定格式,会有变动,那使用固定参数就非常有可能会在刷新数据的时候进行报错,这时就可以使用动态参数来进行。
例如:
表格中的标题列名称可能会进行变化,但是位置不会变,那此时就可以使用变量参数来进行,而不是直接使用列名称来进行操作,如图3所示,此时不管第2列的标题改为什么,只要第2列是代表数字的,这样使用动态参数都不会产生错误。

图3  使用动态参数列名
图3 使用动态参数列名

(四) 筛选的技巧

一般来说筛选很简单,只需要在界面进行操作即可,但是有时候需要注意的是,计算机识别出的操作和人的操作思想不一样,

1. 逻辑不一样

同样的筛选结果,如果只希望选择大于90份的结果,直接选择和逻辑选择会不同。

图4  直接选择所需要的逻辑数据
图4 直接选择所需要的逻辑数据
图5  根据逻辑来进行筛选
图5 根据逻辑来进行筛选

2. 不完整的数据中筛选

如果数据量很大,就会有可能产生未全部加载完成的数据,因为这里直接筛选的数据依据的只是前1000行,有可能展现出来的筛选数据并不完整。

图6  不完整数据的筛选
图6 不完整数据的筛选

(五) 移动列的差异

一般情况下,移动列的顺序使用的是Table.ReorderColumns函数,也就是重新把列名给排下序,如图7所示。

图7  排序标题列
图7 排序标题列

在此函数中,使用的列排序都是常量,而不是变量,如果只想让成绩这个字段根据所需要的位置进行插入,用变量的方式最好,只需要在列的名称上进行改变。
例如:
要把成绩放到最后一列,甚至都不清楚列的数量及列的名称的情况下来实现操作。

图8  动态的标题排序
图8 动态的标题排序

(六) 删除数据列

删除列以及选择列都是属于删除数据的一种操作。这个时候可以利用此类操作函数的第3个参数来避免产生错误。
正常的删除是没有问题的,如图9所示。

图9  删除学科列
图9 删除学科列

如果常量参数填写错误,则就会出错,如图10所示。

图10  删除不存在的列的出错状态
图10 删除不存在的列的出错状态

此时可以使用此函数的第3参数来规避错误,3个参数分别可以用0,1,2代表,如图11所示。

图11  Table.RemoveColumns第3参数的介绍
图11 Table.RemoveColumns第3参数的介绍

这样就能避免产生错误,可以使得操作继续进行,如图12所示。

图12  删除不存在的列并忽略错误
图12 删除不存在的列并忽略错误

(七) 拆分数据列

在进行列的拆分时,大部分会使用类似Excel中的分割功能,把数据分割成多个列,但是其中会有一个问题就是如果后续更新的数据需要拆分的列数量不一致就有可能会漏拆分,如图13所示拆分成如图14所示。

图13  需拆分列的原始数据
图13 需拆分列的原始数据
图14  拆分列后的数据
图14 拆分列后的数据

你当然可以这样拆分,但是有一个问题,仔细查看公式(避免错误的第一个方法),其中的列名都是自动生成的,是根据现有数据能拆分成几行就写了几个对应的字段名和格式。但是如果下次的数据比本次所拆分的更多,那在刷新时就无法进行同步更新,就会出错。
此时最好的做法就是把数据拆分成行,这样就能避免固定的列的限制,如图15这样的操作。

图15  拆分列的数据到行
图15 拆分列的数据到行

(八) 合并数据列

在合并数据列的时候也需要注意一点,组合的列必须是文本列,如果是其他格式会自动转换成文本格式,如图16所示,如果合并的只是文本,会直接合并。如果是其他格式的话,则会自动进行格式的转换,先转换成文本格式在进行合并,如图17所示。

图16  合并文本列
图16 合并文本列
图17  合并非文本列
图17 合并非文本列

如果仔细观察,在合并非文本列的时候,操作都是一样的,但是在公式中会对原有的表格中需要合并的列进行格式转换,所以要合并的列不管是不是文本格式,都可以预先给转换成文本格式,这样在后续的合并中就不会出错。

(九) 合并查询中的展开表

合并查询在Power Query中使用的比例还是相对挺高的,在使用后都会把匹配的数据给展开,这里就会涉及到一个注意事项,如图18所示,合并查询展开时的公式,

图18  合并查询并展开
图18 合并查询并展开

这里同样有一个问题,就是所有的参数都使用了常量参数,这样就会导致之后如果数据有变动则会产生错误,尽量的使用可替代的来实现其相同的逻辑。
主要是第3参数,同样可以使用List.RemoveItems或者List.Difference来实现去掉匹配列来展开所有的其他列。

(十) 删除重复项

在创建维度表的时候,会常用的操作就是去除重复项,要不然在Power BI中会产生多对多的关系,就会引起错误,不过在去除重复项的时候也需要进行仔细辨别。

1. 字母的大小写

在Power BI的模型关系中,不会区分大小写,如果只是大小写的区分,则会直接判断为多个关系,所以在Power Query中进行清洗的时候就要特别留意,以避免因为大小写产生的错误导致数据表之间的关系错误。

2. 不可见的符号

此外就是不可见的符号了,这种也会经常导致匹配错误或者删除重复项时未完全成功,所以在执行删除重复项之前使用修整和清除来把数据给清洗下。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350