PowerBI进阶2

孙兴华PowerBI全集

S00E05 人生处处SQL

导入表
导入完成
检查导入内容 右键 编辑查询(Power Query)

公式 不重复值列出

summarizecolumns('表名[字段名])

*对比非重复值计数公式理解:
image.png

公式 多列不重复

新建表

summarizecolumns('表名[字段名],'表2名[字段2名])

公式 汇总表

新建表

汇总表 =summarizecolumns('表名[字段名],'表2名[字段2名],"新建列名",calculate(sum('表3名[字段3名])))

image.png

S00E06 没有上下文

这节课主要讲了度量值和新建列的区别 入门里讲过 这边再总结下:

度量值:自带筛选功能
新建列:不带筛选
新建列需要筛选功能: 新建列公式外面套上 calculate

新公式:汇总

案例:给定不同年不同人多科目成绩表,每日每年三次成绩中取一次数学分最高

上下文函数写法:
新建表
表公式:

summarizecolumns('案例'[年份],'案例'[姓名], filter('案例','案例'[科目]="数学","数学最高分取值",calculate(max('案例'[成绩])))

度量值写法

新建度量值:最大值=max('案例'[成绩])

新建表:

summarizecolumns('案例'[年份],'案例'[姓名], filter('案例','案例'[科目]="数学","数学最高分取值",[最大值])

S00E07 x函数结合Earlier函数

X函数

PowerBI进阶2_第1张图片

EG:差值求和

sumx('表,字段-字段)

image.png

Earlier函数

含义:当前行
用法:

earlier('表'[字段])

结合filter函数使用

*filter适用 [列]= 公式

含义:筛选所有其他行字段值等于当前行值的,生成一张表(存储在内存中)

filter('表','表'[字段]= earlier('表'[字段])
filter 函数的嵌套

因为filter本身返回值是表,而filter的第一个输入值也是表,所以可以进行嵌套

fliter2=(filter, 筛选条件2)

涉及到日期的累加,则筛选条件可以用类似如下<=方法来做

'销售表'[销售日期] <= earlier('销售表'[销售日期])

EG:
image.png

X函数 filter函数 Earlier函数结合使用

sumx(filter2(filter,筛选条件2),'表'[字段])

最终公式EG:
image.png

你可能感兴趣的:(powerbi)