2020-09
30

PQ里的IF要怎么加呢

By xrspook @ 9:35:06 归类于: 烂日记

昨天在设计某个Power Query查询的时候,我遇到了个问题。只需要做一个非常简单的IF判断,但貌似是不能直接用IF处理步骤。那些不过是非常简单的东西而已,如果符合这个条件,用这个步骤,如果不符合这个条件,用另外的步骤。我之所以被拦在那里,大概是因为我还没搞清IF使用的场景关系。判断步骤从理论上说再普通不过了。我该怎么做到这个呢?之所以有这个困惑,因为IF的判断,在举例子的时候,大都用在添加列这个功能里面。如果符合这个条件,就添加这种,否则就是另外一种,当然你也可以添加一大堆筛选。我正在开始构思这篇东西的时候,突然意识到,我要处理的实际上是一个列表。既然是一个列表,在后面引用的时候我就没必要把所有东西都摊开,我在前面就做好判断,后面直接一个判断好的列表扔过去就可以了。有些步骤我进行了排序,但是实际上排不排都无所谓,因为最后这些东西会到达数据透视表。月份参数必须排序,理论上那个参数不仅仅要排序,而且还应该以日期的数据格式展示出来。昨晚上我发现同样引用同一个数据表,如果我在展开的时候,不加以说明,反而会得出正确的东西。如果纯粹用可视化的操作,会有画蛇添足的效果。我的数据必须得用我想要的方式表达出来,如果默认的东西不对,我应该改到对为止。这一次我运气好,我没有解释某一列到底是什么东西,系统读对了,但有些时候情况不是这样的。当然,也会有我昨天下午遇到的那种情况,系统默认的不太靠谱。最终,我忍耐了那个不太靠谱,但是。既然有了晚上的的经历,系统默认画蛇添足的部分根本不应该存在。

一开始我只想实现某个功能,但在实现某个功能的过程中,我发现以前我的那种分类有点想太多了,因为根本没有必要。那些东西都是独立的存在。与其进行二级分类,不如多做几个一级分类。一级分类的非重复计算实际上用的都是一个模板。既然是模板,我当然可以用外部引入数据的方式实现动态筛选。关于非重复计算这种东西,加入了模型的数据透视表能轻而易举地做到,但经过这段时间的摸索以后,我发现Power Query只要能打开,基本上不会出错,但是Power Pivot我搞不懂为什么会出错,为什么会卡机。那个东西卡机的概率我感觉太高了,之所以有这么高的概率,也可能因为我用得比较少。有时我只是写了个非常简单的度量值,出来了以后,度量值不知道为什么选不上,不知道为什么选上了以后电脑就弹出了某些界面,关掉了以后Power Pivot的选项卡就消失了,但是你依然可以进入。关掉Excel,再次打开,Power Pivot的选项卡没有了,你得在加载项那里把那勾去掉,再重新加回去。实在说不准为什么会这样。如果不把那个曾经导致问题的文件的模型删掉,打开那个工作簿的时候永远存在这种问题,其它工作簿不也会被连累。删掉那个错误后,还得重启电脑才能解决问题。很久以前Power Query也是Excel的插件,但后来,那个东西已经不再是独立的选项卡,而直接内嵌到软件了,而Power Pivot在Microsoft 365里依然是个选项卡,依然要借助COM加载下。这就意味着这个东西还没有到非常成熟的地步。所以或许某一天我要玩Power Pivot的时候,我不在Excel里面玩,而会跑到Power BI里折腾。因为起码那样的话,我就不用烦恼Excel的加载项老是消失这个问题了。

越研究就越知道自己什么都不知道。

2020-09
29

向高手学习

By xrspook @ 9:34:49 归类于: 烂日记

追加查询这种事,2句话搞定,这实在让人太震惊了,但实际上,两句话里其实暗藏了许多玄机,高手用一句话完成了几个步骤的事。能做到这样,绝对是因为对函数这种东西了如指掌。

source = Table.SelectRows(Excel.CurrentWorkbook(), each List.Contains({“表1″,”表2″,”表3”},[Name]))[Content],
result = Table.Combine(source)

Excel.CurrentWorkbook()这种东西通常我们都是后面搭配{[Name=”某表”]}使用,那是点名使用,一次只能一个,但实际很多时候合并工作簿都是里面同型号的表全部合并,如果全部都用这种,得列多长的清单。高手的代码里,还可以把List.Contains变成Text.Contains,如果是list那就是点名要哪些或者不要哪些表,如果是text那就是直接筛选表的关键词,包含哪些关键词或者不包含,各有所长,都能实现。如果命名很规律,那是简单到爆炸的事,即便命名不规律,也能用排除的方式忽略某些不想合并的表。你或许会说,既然是合并工作簿,为什么不直接用从外部文件的工作簿获取呢,那样直接就到位了,选择的时候也很自由,因为那是可以可视化操作的,而且不需要实现把工作簿加入到表,我觉得最根本的区别在于移动文件的时候,外部获取你还得更换数据源,当然了,这个可以通过自动获取数据源地址的方式实现,但直接CurrentWorkbook是最没有烦恼的。要把工作簿里所有表都变成超级表,这在收集和整理表格的时候其实也是有难度的。所以这种一次性用CurrentWorkbook包揽工作簿的方式我觉得最好不要超过10个,3-5个是最合适的。通常,如果用追加合并,可视化系统生成的是Table.Combine{{“AA”,”BB”,”CC”}}类型的多个表格列表,而高手的代码里,source其实就是一个表格的列表。轻描淡写之前,处处暗含玄机。要做到这样得非常清楚每个函数需要什么数据,可以生成什么数据,玩弄的正是表格、列表、记录的互相转换。

同样是contains的功能,list的是后面跟前面对,对上就true,但text是前面跟后面对,对上就true。对我这种初学者来说,这是很迷糊的事,谁先谁后到底是最定义这些公式的,为什么要这么郁闷呢!有这种吐槽大概因为我不熟悉,对高手来说估计是没有疑问的。到底建立这些M函数的时候,他们是怎么分配工作的呢?类似的功能一个人负责?某个统领下的函数一个人负责?最后有没有对“.”以后相同,功能类似东西做比对呢?对我这种懒人来说,类似的函数能用复制粘帖修改就不会用重写这一招,但显然,他们的脑洞估计不是。

看书对照操作是一回事,融会贯通又是另一回事。

2020-09
28

迷糊

By xrspook @ 8:40:24 归类于: 烂日记

今天我终于看完了一本Power Query的教程。其实我也不知道叫不叫做看完了,因为最后的部分,我是囫囵吞枣的过的,因为那些功能我用不着。最后一章说的是函数,但是,每个函数都没有仔细说要怎么着,只是把函数列举了出来,大概说一下什么意思,但函数里面到底有什么具体参数,没说。看完那本书以后,我回去看那条我搞不懂的题目,结果发现,之前我卡在的那个地方其实不是难点,而是因为我没有仔细观察数据源,所以犯了一个错误。真正的难点,我没有意识到。因为我用的最多的是数据透视表,要做汇总计算,根本不是问题,任何类型都可以。Power Query非常擅长数据清洗。当然这个东西也可以用作汇总计算,但当一个表里,明细跟汇总都放在一起,感觉就不太靠谱了,作为Power BI的两剑客。我个人觉得Power Query更擅长于处理原始数据,让那更容易用于后续的Power Pivot分析使用。高手用了一个高级的公式,解决了某个汇总问题。我有主动了解那个东西到底是干嘛的。之后,我大概知道那要做什么,那里内置了一个循环功能,又或者说是迭代的功能。让我摸不着头脑的是,在使用那个公式之前,又套用了好几层东西,然后我就彻底蒙圈了,那简直就是连环套,就像俄罗斯套娃一样。有时我真的想不懂那些高手到底是怎么写那些脚本的。公式一层套一层,他们怎么就搞得清那些小括号、中括号和大括号呢?同样是引用一个列名,有用双引号的,用中括号的,也有用大括号加双引号的。貌似暂时我还没有看到纯粹小括号的。Power Query实际上就是搞清几种数据类型,在那几种东西之间来回变换,其中就包括表格,列表,记录和值。一个个说,貌似都能明白,但问题是,要把它们套用起来的时候,情况就比较复杂了。要表达一个表,用的是大括号,要表达一堆列表,也是用大括号。如果要表达某个表里面的一些记录,那得用3层的大括号,列表只是两层。这是纯粹用大括号的,你也可以在大括号里面嵌套中括号来定位某些记录。这些层层套套的关系,简直要把人逼疯。但实际上复杂的结构有哪个不是这种关系呢?只怪Power Query这个东西把这些关系放在表格里,而其它地方用的几层的缩进。Power Query不存在单元格这个概念,那个东西用的是上面说的那几种东西。

回到一开始那个难题,我觉得要解答那个东西,最简便的方式应该是用Power Query实现多表合并抓取数据,然后把抓取到的东西放到Power Pivot里面建立一个大表和一个索引表的关系。这样一来,就完全不需要考虑那种必须得用高端函数才能解决的汇总问题了。为什么我们非得吊死在一棵树上呢?当然,之所以不这么干,是因为做表那个人想一次性搞定所有。在没有Power BI两剑客之前,要实现这个功能,肯定会有高手用VBA解决问题。如果用的是VBA,那又是一个怎么样的思路呢?

我觉得Power Query现在对我来说很无解,这是因为我对这个东西的了解还不够深入。

2020-09
27

太年轻

By xrspook @ 8:49:35 归类于: 烂日记

我们科室的一个同事快要离职了,他是自己辞职的。他的离开我并不惊讶,但是来得这么突然,我有点意外。理论上,他应该留给我们的领导一些时间。招人是不可能的了,起码接替的工作得安排好。一个月的时间不能说太短,但我觉得,仍然有些突然。他来我们单位工作的时候,注会已经过了好几门,剩下的那些他打算去年全部考过,但是最后还是挂了一科。挂了那一科,也并不是差得太远,只差了一点点。从那时我就明白到,这个人,肯定不会长留,顶多考完注会就会走人。为什么我有这个看法呢?因为在我们这种单位,无论你考的什么证,别人都不拿那当一回事,你要升工资、你要升职,靠的不是那些东西。起跑线是你入职的时候的那个状态,研究生和本科生从一开始就是不一样的待遇,虽然二者可能干着同样的事。理论上,工资应该跟技术能力挂钩,但实际上,我们这个单位,根本不把你的职称当一回事。如果某个单位把职称当一回事,就应该有聘任制度。聘任制住这种东西也意味着,即便你有那个职称,有那个本事,也不代表你一定就跟那个工资挂钩,因为一个萝卜一个坑。

我100%觉得他在这个单位是郁郁不得志的。我不知道他自我感觉良不良好,反正他自己以及我们单位的领导都默认觉得完成到手头上的工作,他应该轻而易举就能做到,但实际上,是不是这回事呢?我不知道。因为我跟他的交集不多,但是即便只有很少的交集也让我觉得非常的不妥。你有能力,你觉得自己可以做到,但是别人却不给你这样的机会。在别人眼里,你的长处并没有被他们发现,但你的短处却是他们一直以来攻击的对象。这种情况之下,要怎么活下去?为什么他会落入这种境地呢?我觉得,主观和客观原因都有。客观原因是我们这里的某些领导就那样了。他不骂人是不可能的,他不尖酸刻薄地骂人,也是不可能的,但起码,他的骂人是光明正大地挂在嘴边,而不是暗地里捅你一刀。主观的因素,我觉得在于他没有觉得自己有问题,又或者,他觉得自己可能在某些方面有问题了,但是他并没有很明显地去改正。这种改正不仅仅是我觉得我做到了,而是要别人觉得。情况就像是减肥的时候,一开始没什么效果,无论是自己还是别人,但慢慢地,自己感觉有区别了,不过要让别人也感受到,则需要更长的时间。这是一个量变到质变的过程。对我们来说,在他身边工作,虽然没有特意很仔细地观察他,但至今我没有感觉到很明显的量变。这种情况下,要让领导感受到质变,几乎是不可能的。

如果他要离开,我要给他一句话了,这句话应该是什么呢?我已经想好了,是曹雪芹的“世事洞明皆学问,人情练达即文章”。道理上非黑着白的东西还好,但人情问题不是道理能说得清的。IQ再高,EQ却总让人觉得怪怪的,这些人或许也能赚大钱,但这些人的日子不会太好过。

2020-09
26

挑选难

By xrspook @ 9:20:28 归类于: 烂日记

当其他女生,可以轻而易举地挑出自己喜欢几百块钱的零食,我却一个都挑不出来,因为平时我几乎不碰那些东西。饼干,总的来说我没什么爱好,也没什么时间需要吃的。如果在家里,通常我妈喜欢买苏打饼,实际上我自己喜欢吃的是威化饼,其它东西我根本没有买的欲望。有时候我自己也会买苏打饼,但不是把那当作零食,而是当做是干粮,有必要的时候顶一下。绝大多数时候这种事都不会发生,单位一包400克的苏打饼我才吃过几个小包,整包都过期了我都毫不知情。过期了两个月后,我还真吃过,发现那个味道有点怪怪的,但还不至于变质发霉,不过就有点不对劲,没有之前那么香了。我不想吃,就打算用来喂狗,结果连单位那些完全不挑吃的狗也不吃了。

至于其它类型的零食,糖果巧克力类的,我基本不会碰。肉丝肉干类的,我很挑。我只会买那些不加很多调味料,而且是真材实料,大块肉的那种,比如说科尔沁的,比如说他们的风干牛肉。方便面之类,我也不会买,因为根本没时间吃。现在的小年轻挺着迷于螺蛳粉,但实际上,我根本不知道螺蛳粉是什么味道的。螺蛳粉小食店的招牌经常看到,但我却从来没有意识到那应该是什么味道的,当然我也不会买来吃。方便面这种东西,不是我的囤货范围,正常情况下,一年就可能最多吃个几回,有时甚至一次都没有。那些最让大家着迷的膨化类食品。绝大多数情况下,我毫无购买的欲望。所以,如果你要我去挑零食,我能挑什么呢?果脯类的东西,我也不怎么喜欢,因为里面加了很多料。如果要吃果脯的话,不如直接吃干果。干果这个我都能接受,但是,提货的那个店里面没有这个东西。我不知道我的同事是如何挑得下手的,因为我最习惯的那些食品牌子貌似那里都很少,又或者说根本没有。

我是那种想速战速决解决问题的人,所以300块钱我直接买了两包米和两盒饼干。米是必须得买的,但是不是一次性就买两包,这就是个问题,两包米,每包15公斤,即便我拉个车,依然能感觉到那种分量。光是两包米就30公斤,我如何把它带回家也是个问题。正常人的思路是分开拿,一次15公斤。一开始我也是这么觉得的,但后来,我改变主意了,因为那个拖车本身也不轻。光是拖车的重量,就有几公斤。要以什么交通方式回家?至今我还没想好,如果真的是9月30号下班以后,像平时那样回家的话,我肯定会疯掉,因为路上会堵车,还会有很多人,我拖了个这样的东西,根本没办法。所以最佳的方式是我请半天假,中午就开溜了,但是自己搭车回家的话,我应该选择什么交通方式呢?倒几轮公交吗?还是公交加地铁?无论是哪一个,都必须考虑。换乘的问题。如果地铁站下去的时候根本没有自动扶梯。我会死在那里。公交车虽然麻烦,但也就上车下车那一下子了。当然我还有别的选择。比如说,到达某个地方后打车回家,但这个费用太高了。所以最终,我可能会选择折腾几轮公交。但光是公交车回家的搭配也有好几款,这简直是要把选择困难症的人逼死。

东西太多,绝对是个烦恼。

© 2004 - 2020 我的天 | Theme by xrspook | Power by WordPress