DAX - 将销售日期与每种产品的相关促销日期相匹配

DAX - match sales date with relevant promotion date for each product

我有一个共同的销售 table,其中不同的产品在多天销售。 我有第二个 table 产品特定的促销活动,随着时间的推移,产品可以有多个促销活动。

我想使用计算列将促销 table 中的相关促销匹配到销售额 table。

促销与销售日期相关,直到发生以下促销并且产品随后售出:

我当前的解决方案是嵌套的 if 函数,看起来有点像这样:

由于一个产品最多可以有十几个促销活动:是否有使用计算列来执行此操作的更好方法?

提前致谢

如果可以使用度量(如果promo_date仅用于演示目的):

Relevant_Promo = CALCULATE(max(Sheet2[promotion_date]), filter(ALL(Sheet2), Sheet2[promotion_date]<= SELECTEDVALUE(Sheet3[sale_date]) && SELECTEDVALUE(Sheet3[produkt]) = Sheet2[produkt] ))

OR 计算列:

Relevant_Promo_CCOL = CALCULATE(max(Sheet2[promotion_date]), filter(ALL(Sheet2), Sheet2[promotion_date]<= (Sheet3[sale_date]) && (Sheet3[produkt]) = Sheet2[produkt] ))

其中我的 Sheet2 = 促销; Sheet3 = 销售额