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

使用Index Match按日期范围匹配销售记录对应更新价格

按生效日期匹配销售记录对应定价的实现方案

核心匹配逻辑非常明确:销售记录的购买日期落在定价规则的生效起止日期闭区间内,即为该笔销售对应的当期适用价格,完全符合你给出的第一笔1100$、第二笔1200$的预期匹配结果。
以下是不同技术栈下可直接落地的实现方式:

1. SQL 实现(业务库/数仓查询场景)

提前把两个表的日期字段统一转为DATE类型,剔除时分秒避免精度导致的匹配错误,直接做区间关联即可:

SELECT
  s.CustomerID,
  s.Country,
  s.`date of purchase`,
  p.price AS applicable_price
FROM 销售记录表 s
LEFT JOIN 价格规则表 p
  ON s.`date of purchase` BETWEEN p.effective_start AND p.effective_end;

异常场景处理:如果价格规则表存在日期区间重叠的配置(比如同一天配了两个价格),会出现一笔销售匹配多条价格的问题,这时候加窗口函数取最新生效的规则即可:

WITH rule_unique AS (
  SELECT
    price,
    effective_start,
    effective_end,
    ROW_NUMBER() OVER(ORDER BY effective_start DESC) AS rn
  FROM 价格规则表
)
SELECT
  s.CustomerID,
  s.Country,
  s.`date of purchase`,
  p.price AS applicable_price
FROM 销售记录表 s
LEFT JOIN rule_unique p
  ON s.`date of purchase` BETWEEN p.effective_start AND p.effective_end
WHERE p.rn = 1;

2. Python Pandas 实现(离线数据处理场景)

处理本地Excel/CSV批量数据时,用merge_asof做近似匹配性能远高于普通笛卡尔积关联,代码如下:

import pandas as pd

# 读取本地数据,替换成实际文件路径
sales_df = pd.read_excel("销售记录表.xlsx")
price_rule_df = pd.read_excel("价格规则表.xlsx")

# 统一日期格式
sales_df["purchase_date"] = pd.to_datetime(sales_df["date of purchase"])
price_rule_df["effective_start"] = pd.to_datetime(price_rule_df["生效起始日期列"])
price_rule_df["effective_end"] = pd.to_datetime(price_rule_df["生效截止日期列"])

# 按日期排序后做向后匹配
sales_df = sales_df.sort_values("purchase_date")
price_rule_df = price_rule_df.sort_values("effective_start")
match_result = pd.merge_asof(
    sales_df,
    price_rule_df,
    left_on="purchase_date",
    right_on="effective_start",
    direction="backward"
)
# 过滤掉超出截止日期的无效匹配
match_result = match_result[match_result["purchase_date"] <= match_result["effective_end"]]

3. Excel 函数实现(小批量手工处理场景)

不需要写代码,直接用LOOKUP函数就能完成匹配:
假设销售表中购买日期存在C列,价格规则表的生效起始日期在Sheet2的A列、生效截止在B列、对应价格在C列,在销售表D2单元格输入以下公式后下拉填充即可:

=LOOKUP(1,0/((C2>=Sheet2!$A$2:$A$100)*(C2<=Sheet2!$B$2:$B$100)),Sheet2!$C$2:$C$100)

示例表参考

价格规则表示例
销售记录表示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 10:01:08