powerbi
一. CALCULATE 和 FILTER
FILTER 返回的数据必须是表, 所以 可以 用在 新建表中, 不能直接用在度量值中
其实 filter 相当于 用 外表字段 去进行筛选
不使用 filter, 只能使用本表字段 进行筛选,如下1, 只能使用 门店信息表的城市筛选,
表2,是用了filter, 门店信息表和区域信息表有关系的前提下, 进行筛选。
CALCULATE(
SUM('门店信息表'[门店标配人数]),
[城市] = "镇江"
) #本表字段 直接使用 列筛选
#filter 将表作为筛选条件 ,返回对应的值(表和表之间必须存在关联)
#filter 返回的数据也是表类型
#把营销一区 对应的门店 人数求和
CALCULATE(
SUM('门店信息表'[店员标配人数]),
FILTER(
'区域信息表',
'区域信息表'[区域] = "营销一区"
)
) #外表字段 使用filter筛选表
二. ALL 筛选器函数 谁在谁没用
# ALL 筛选器函数,清除指定 表(或列)的筛选过程, 谁在谁没用
# 对金额列 进行求和, 且 结果不受 门店ID 切片器的控制
计算金额 = CALCULATE(SUM('销售表'[金额]),ALL('销售表'[门店ID]))
三. ALLEXCEPT 筛选器函数 谁在谁有用
# 只受某列影响 ,清除其他表或者列 的筛选功能 ,allexcept 中指定的有用,其他都没用
# ALLEXCEPT(表,表[字段])
#对金额求和 ,只有产品ID 能进行 切片作用
计算金额 = CALCULATE(SUM('销售表'[金额]),ALLEXCEPT('销售表','销售表'[产品ID]))
四. ALLSELECTED 和all 类似 谁在谁没有
ALLSELECTED(表,表[字段])
五. related (将维度表中列 复制到事实表,就是将维度表中字段放入事实表)
# 维度表 指向 事实表 (关系中)
# 事实表:核心业务表
# 将
related('表'[表字段])
这里是在 销售表中 新建列中 输入, 因为 related 只能在 事实表中 添加 维度表中的字段
列 = RELATED('门店信息表'[城市])
六. RELATEDTABLE:将事实表中的 列 放到 维度表
SUMX(RELATEDTABLE('表'),[字段])