PowerBI中基于日期从另一表取值创建计算列的方法
PowerBI 按销售日期匹配对应销售人员的计算列解决方案
字段前提说明
假设两张表的核心字段如下(如果你的字段名称不同,自行替换):
- 销售表(Sales):
Product(商品名称)、SaleDate(销售日期) - 销售人员表(Sales Persons):
Product(商品名称)、StartDate(负责起始日期)、SalesPerson(负责人姓名)
计算列DAX代码
在销售表中创建新的计算列,使用以下DAX公式:
负责销售人员 = VAR 当前商品 = Sales[Product] VAR 当前销售日期 = Sales[SaleDate] RETURN CALCULATE( LASTNONBLANK('Sales Persons'[SalesPerson], 1), FILTER( 'Sales Persons', 'Sales Persons'[Product] = 当前商品 && 'Sales Persons'[StartDate] <= 当前销售日期 ) )
公式逻辑解释
- 用
VAR定义当前行的商品和销售日期,简化后续引用 FILTER筛选出当前商品下,起始日期早于等于当前销售日期的所有负责人记录LASTNONBLANK取筛选结果中最后一条的负责人姓名——因为新负责人的起始日期更晚,所以会自动匹配对应时段的最新负责人
适配验证
针对你提到的cell商品负责人变更场景:
销售人员表中cell的记录:
Product StartDate SalesPerson cell 2025/1/1 Mark cell 2025/1/14 Bob
使用上述公式后:
- 销售日期早于2025/1/14的cell销售记录,会匹配Mark
- 销售日期为2025/1/14及之后的cell销售记录,会匹配Bob
内容的提问来源于stack exchange,提问作者MiKa Coding
相关产品推荐
相关产品推荐

