一、基本操作
1.新建列
新建列 = ‘某表’[某列]*10 //具体操作运算
2.建模与关系函数
1.导入表
2.关系视图建立联系
3使用LOOKUPVALUE函数
语法:LOOKUPVALUE(另一张表的要加入的某列,那张表上的对应列,自己表上的对应的某列)
例如:LOOKUPVALUE(‘商品表’[进价],‘商品表’[品名],‘销售表’[商品名称])
多端v一端
related函数:多端找一端
[销售金额] = [销售数量]*RELATED(‘商品表’[进价])
countrows:计数
在商品表下:
订单数量 = COUNTROWS(‘销售表’)
relatedtable
订单数量 = COUNTROWS(relatedtable(‘销售表’))
3.度量值、Calculate引擎、Calculatetable筛选表
总销量 = sum(‘销售表’[销售数量])
A产品销量1 = CALCULATE([总销量],‘商品表’[品名]=“A”)
A产品销量2 = CALCULATE([总销量],‘销售表’[商品名称]=“A”)
多条件Calculate【多列】
多条件 = CALCULATE([总销量],‘商品表’[品名] =“A”,‘商品表’[进价] =0.1)
多条件1 = CALCULATE([总销量],‘商品表’[品名] in {“A”,“B”,“C”})
多条件2 = CALCULATE([总销量],not ‘商品表’[品名] in {“A”,“B”,“C”})
Calculatetable(表,筛选条件)
与Calculatetable区别在于,可以多表运作筛选,最终返回一张表
表 = CALCULATETABLE(‘销售表’,‘商品表’[品名]=“A”,‘商品表’[进价]=0.1)
类似,SQL语句
SELECT * FROM 销售表
WHERE 销售数量 > 250;
4.高级筛选器Filter与Values人工造表
返回一个表,用于表示另一个表或表达式的子集,不能单独使用
Filter函数对筛选的表进行横向的逐行扫描,这样的函数叫迭代函数。
Countrows(Filter(表,筛选条件))
Calculate(表达式(度量值),Filter(‘表名’, 筛选条件))
什么时候使用Filter函数
在Calculate函数中的直接筛选条件里,我们只能输入:
‘表’[列] = 固定值 或 ‘表’[列] <> 固定值
‘表’[列] >= 固定值 或 ‘表’[列] <= 固定值
‘表’[列] > 固定值 或 ‘表’[列] < 固定值
但是遇到如下情况,就要使用Filter函数
[列]=[度量值]、 [列]=公式、[列]=[列]
[度量值]=[度量值]、 [度量值]=公式、[度量值]=固定值
如果我只有一张表怎么办?我没有唯一表,只有数据表!那就自己造一张表!
filter总分2 = CALCULATE([总分],FILTER(VALUES(‘成绩表’[学号]),[总分]>250))
学习课程来源:孙兴华讲power bi 火力全开