欢迎光临散文网 会员登陆 & 注册

PowerBI之DAX神功番外篇34 十字螺丝用一字螺丝刀拧会怎样

2023-02-13 11:08 作者:孙兴华zz  | 我要投稿


网友提问:

图片放大:

回答网友问题:

新年快乐!祝您新的一年工作顺利,学习愉快!

这个问题好比十字螺丝,建议使用十字螺丝刀,比如,您看我用PowerQuery点两下鼠标,再用一句话搞定

一、PowerQuery解决方法

1、导入数据,首列用鼠标点击改成文本类型

2、用鼠标筛选159和1

3、添加步骤一句话搞定

最后你用鼠标双击修改一下首列字段名就可以了。

每个列得到的逻辑:

第1列是通过对筛选后的表分组行到的,第2列分组后对值那列求和,第3列分组后每张表的行数计算,第四列分组后的账单号对筛选原表得到数据后对值那个字段求和。


二、DAX方法

你的DAX方法,可能是想多了,问题很简单,但是您想的很复杂。我讲一下我的想法

1、做一个矩阵和一个切片器,行标题放【值】字段,切片器筛选 1和159

2、三个度量值如下

原理:var x=SELECTEDVALUE('表'[值])   代表行标题上的那个值

在原表中筛选行标题的那个值所产生的表,对这个表的【值】字段求和。

原理:同上,只是把sumx改成了countx 从求和变成计数

原理:var x=SELECTEDVALUE('表'[值])   代表行标题上的那个值

var tb = SELECTCOLUMNS(FILTER('表',[值]=x),"账单号",[账单号])  筛选行标题上的那个值得到的表,取【账单号】那个列

calculate(SUM('表'[值]),'表'[账单号] in tb,ALL('表'[值]))    这一步我们分别筛选【账单号】字段3、4和1、2在原表中的所有行,然后求和【值】字段。由于我们不能只筛选159和1的值,所以要ALL('表'[值])

最终结果:

我个人感觉,这个需求属于数据清洗,而不是数据分析,我个人不建议您使用DAX,但是方法我都提供了,您可以自行选择。因为DAX你要考虑很多问题,现在数据和需求简单,后期可能会出现各种各样的bug。

总之不同的需求有不同的工具,您看我就是个普通人,我能用合适的工具满足我的需求,我开车水平很一般,比不了赛车手,但是上下班、自驾游都没问题。做饭我不如厨师,但是我大哥满意。电脑我比不了哈罗雷球白夕尚*,但是我工作中已经够用,高兴了还能和他们PK一下技术。。。。

虽然我掌握的技能多而不精,但是我感觉我活的挺精彩。

PowerBI学习顺序:

【1】Access基础篇,学习s01开头的集数,理解表格数据规范和表关系

https://www.bilibili.com/video/BV1tf4y117Sh

【2】PowerBI火力全开,学习函数语法,与应用场景

https://www.bilibili.com/video/BV1qa4y1H7wp

【3】DAX神功,学习DAX函数原理

https://www.bilibili.com/read/readlist/rl442274

【4】PowerBI可视化图表

https://www.bilibili.com/video/BV1W54y1i7dE

https://www.bilibili.com/video/BV1r54y1i75n


PowerBI之DAX神功番外篇34 十字螺丝用一字螺丝刀拧会怎样的评论 (共 条)

分享到微博请遵守国家法律