You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Power BI中用DAX编写Measure获取符合日期范围的单价

Power BI 编写Measure获取对应适用单价的方法

实现思路

需要同时匹配产品标识(如product_id)和销售日期的区间归属,从Price表中提取对应生效单价,以下是两种常用实现方式:

方法一:使用LOOKUPVALUE函数(单匹配场景)

如果每个产品的销售日期只会对应唯一一条价格规则,直接用LOOKUPVALUE即可:

适用单价 = 
LOOKUPVALUE(
    Price[price],
    Price[product_id], Sales[product_id],
    Price[price_start_date], <= Sales[Sales Date],
    Price[price_end_date], >= Sales[Sales Date]
)

提示:如果存在多条符合条件的价格记录,该函数会返回错误,此时推荐使用方法二。

方法二:使用CALCULATE+FILTER(多匹配场景)

若存在价格区间重叠、同一日期多条价格生效的情况,可通过聚合函数指定取值规则(如取最高/最低/最新价格):

适用单价 = 
CALCULATE(
    MAX(Price[price]), -- 可替换为MIN、LASTNONBLANK等,按需调整取值规则
    FILTER(
        ALL(Price),
        Price[product_id] = SELECTEDVALUE(Sales[product_id]) &&
        Price[price_start_date] <= SELECTEDVALUE(Sales[Sales Date]) &&
        Price[price_end_date] >= SELECTEDVALUE(Sales[Sales Date])
    )
)

关键注意点

  • 确保Price和Sales表有一致的产品关联字段(如product_id),否则无法精准匹配
  • 两张表的日期格式需统一,若存在日期时间格式差异,可使用DATEVALUE(Sales[Sales Date])转换为纯日期格式后再匹配
  • 若价格规则存在重叠,需提前明确业务取值规则,再调整CALCULATE中的聚合逻辑

内容的提问来源于stack exchange,提问作者Yax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 15:52:13