目录
一、指标
1、度量值
总销量 = SUM(‘销售表’[销售数量])
单店平均销量 = [总销量]/[门店数量]
门店数量= DISTINCTCOUNT(‘销售表’[店号])
最大值 = MAX(‘销售表’[销售数量])
最小值 = MIN(‘销售表’[销售数量])
订单数量 = COUNTROWS(‘销售表’)
平均销量 = AVERAGE(‘销售表’[销售数量])
计算 = 度量值
二、常用函数
聚合函数
注:
1、度量值是独立存在,不与其他表相连。
2、跨表查询取数,尽量在sql处理表单
eg:
//sql代码
SELECT 日期, 店号,a.商品编码,售价
FROM `销售表` a
LEFT JOIN `商品表` b
ON a.商品编码 = b.商品编码
LOOKUPVALUE
//power bi 代码
售价 = LOOKUPVALUE('商品表'[售价],'商品表'[商品编码],'销售表'[商品编码])
销售金额 = '销售表'[销售数量] * '销售表'[售价]
//优化
销售金额2 = '销售表'[销售数量] * RELATED('商品表'[售价])
//excel vlookup
(索引位置,查找范围,关系列,精确查找0)
related
跨表自动筛选功能(多端找一端每个商品的价格是唯一的)
4、relatedtable加table表示筛选表(一端找多端eg一个商品找了多个笔订单)
COUNTROWS
5、订单数量 = COUNTROWS(RELATEDTABLE(‘销售表’))数行
calculate
6、calculate(计算度量值,筛选器)//calculate(度量值/函数,列的关键字/列in{范围}/filter(表,列))
eg:统计某商品的总销量
法一:calculate([总销量],‘销售表’[商品编码] = “A03”)
不包含电视的销量 = calculate([总销量],‘销售表’[商品编码] in { “A01”,“A02”,“A04”})
法二:门店名字+总销量+切片器 可以可视化查看某商品销量(缺点不能可视化对比程度)
7、**等号的时候用calculate(那张表筛选,筛选条件)**局限是表里的某个列跟固定值之间对比
eg:查看电视机的销量表(日期,商品店号,售价,数量)
countrows
eg:提取/筛选商品编码为01的查看每日销售数量
空调订单数 = COUNTROWS(FILTER(‘销售表’,‘销售表’[商品编码] = “A01”) )
表示筛选了01编码的商品有多少行就是多少订单
筛选功能最好是在一对多端使用,防止表乱
filter
8、有> ,<,等用filter(哪个表,筛选条件列1&&条件列2),“列的名字”,要配合聚合函数或放在calculate,countrows使用等
在Calculate函数中的直接筛选条件里,我们只能输入: ‘表’[列] = 固定值 或 ‘表’[列] <> 固定值
‘表’[列] >= 固定值 或 ‘表’[列] <= 固定值 ‘表’[列] > 固定值 或 ‘表’[列] < 固定值
但是遇到如下情况,就要使用Filter函数 [列]=[度量值]、 [列]=公式、[列]=[列] [度量值]=[度量值]、
[度量值]=公式、[度量值]=固定值
eg:统计销量大于两百的店铺
门店总销量 = SUM('销售表'[销售数量])
空调销量 = CALCULATE('度量值'[门店总销量],'销售表'[商品编码] = "A01")
filer销量 = CALCULATE([空调销量] ,FILTER('门店',[空调销量] >60))
北京上海卖了多少空调
注sumx,averagex,maxx,minx用法与filter一致(哪个表,表达式) 毛利22 =
CALCULATE(SUMX(‘表’,[销售金额]-[销售成本]))
sql在power bi中的应用
SUMMARIZECOLUMNS
1、名字重复——power query选择第一行作为标题
语法:SummarizeColumns ( 第1参数,第2参数,第3参数,第4参数)
2、去重—新建表—叫不重复姓名 = SUMMARIZECOLUMNS(‘重复姓名’[姓名])
注意区别distinctcount用来记不重复的字段出现多少次,是个数字
3、多列不重复 = SUMMARIZECOLUMNS(‘多列重复’[年份],‘多列重复’[姓名])
eg:查找同一个id不同年份的信息
汇总表 = SUMMARIZECOLUMNS(‘分组求和’[年份],‘分组求和’[姓名],“总分”,