Power BI中如何按日期切换不同表的佣金生成新列?
解决方案
方法一:利用表关系(推荐)
如果SALES表和CATEGORY表已经通过「类别+产品」建立一对多关系(CATEGORY为一端,SALES为多端),直接在SALES表中新建计算列,用RELATED函数关联佣金字段,配合IF做日期判断:
Prod_commission = IF( SALES[日期] <= DATE(2022, 6, 30), RELATED(CATEGORY[commission_2]), RELATED(CATEGORY[commission_1]) )
方法二:无表关系时用LOOKUPVALUE
如果未建立表关系,直接在IF分支里分别调用LOOKUPVALUE匹配对应佣金:
Prod_commission = IF( SALES[日期] <= DATE(2022, 6, 30), LOOKUPVALUE(CATEGORY[commission_2], CATEGORY[类别], SALES[类别], CATEGORY[产品], SALES[产品]), LOOKUPVALUE(CATEGORY[commission_1], CATEGORY[类别], SALES[类别], CATEGORY[产品], SALES[产品]) )
关键说明
- 不用
DATEBETWEEN的原因:该函数是用于筛选上下文的工具(多用于度量值),计算列中直接做日期大小比较更简洁直接。 - 确保CATEGORY表中「类别+产品」是唯一组合,避免
LOOKUPVALUE因多匹配结果报错(你之前用该函数成功,说明数据本身符合唯一性要求)。
内容的提问来源于stack exchange,提问作者fachc
相关产品推荐
相关产品推荐

