数据分析powerbi DAX日常笔记(一)

Calculate引擎

#单条件

总销量 = sum ('销售表'[销售数量])

A product sales total = Calculate([总销量],'商品表'[品名] ="A")

这里的"A"仅限于字符,数值型,如果有事件等其他问题,则放在时间智能函数。

#多条件

多条件 = calculate([总销量].'商品表'[品名] = "A", '商品表'[进阶] = 0.1)

多条件1 = Calculate([总销量].'商品表'[品名] in {"A","B","C"})

多条件2 = Calculate([总销量]. not '商品表'[品名] in {"A","B","C"})

Calculatetable筛选表

Calculatetable(表,筛选条件)

表 = Calculatetable('销售表','商品表'[品名]= "A", '商品表'[进价] = 0.1)

Filter

返回一个表,用于表示另一个表或表达式的子集,不能单独使用。

Filter函数对筛选的表进行横向的逐行扫描,这样的函数叫迭代函数。

Countrows(Filter(表,筛选条件))

Calculate(表达式(度量值).Filter('表名',筛选条件))

#什么时候使用Filter函数

如果遇到以下这几种情况,就需要使用Filter函数

[列] = [度量值]

[列] = 公式

[列] = [列]

[度量值] = [度量值]

[度量值] = 公式

[度量值] = 固定值

Values

只有一张数据表,没有唯一表。

filter 总分 = calculate([总分], Filter(Values('成绩单'[学号]), 总分>250))

values是可以自选一列出来,例如测试表 = values('成绩表'[学号])

ALL

作用:清楚筛选,返回:清楚筛选后的表格或列。

商品表中商品总数 = countRows('商品表')

销售表中的商品数量 = calculate(countRows('商品表'),'销售表')

生产一个不能筛选的总数 = CountRows(ALL('商品表'))

lookupvalue

如果想在矩阵表上使用商品名称,可以用LookupValue将商品名称V过来,或者不适用红框内的条件

【新建列】商品名称 = LookupValue('商品表'[商品名称],'商品表'[商品编码],'销售表'[商品编码])

Allexcept

排除法筛选

ALLEXCEPT (table, column1, column2, ...)

Allselected

与all不同,allselected保留了用户在筛选器或切片器中所选择的值,但移除其他上下文的筛选器。

想要计算某个产品销售额占所有选定产品销售额的比例,可以使用如下 DAX 公式:
Sales Ratio = 
SUM(Sales[Amount]) / 
CALCULATE(SUM(Sales[Amount]), ALLSELECTED(Sales[Product]))
相关推荐
西洼工作室1 小时前
【java 正则表达式 笔记】
java·笔记·正则表达式
初学者7.1 小时前
Webpack学习笔记(2)
笔记·学习·webpack
新手上路狂踩坑2 小时前
Android Studio的笔记--BusyBox相关
android·linux·笔记·android studio·busybox
qingyunliushuiyu3 小时前
企业为何需要可视化数据分析系统
数据挖掘·数据分析·数据采集·数据可视化·数据分析系统
stm 学习ing4 小时前
HDLBits训练3
c语言·经验分享·笔记·算法·fpga·eda·verilog hdl
尘觉4 小时前
算法的学习笔记—扑克牌顺子(牛客JZ61)
数据结构·笔记·学习·算法
chenchihwen5 小时前
数据分析时的json to excel 转换的好用小工具
数据分析·json·excel
bohu835 小时前
sentinel学习笔记1-为什么需要服务降级
笔记·学习·sentinel·滑动窗口
初学者7.5 小时前
Webpack学习笔记(3)
笔记·学习·webpack
bohu836 小时前
sentinel学习笔记5-资源指标数据统计
笔记·sentinel·statisticslot