PowerPivot多列近似匹配

时间:2014-11-06 02:29:24

标签: lookup powerpivot dax approximate

我想在购买产品的日期找到 Member_Status

表A包含3个字段:Member_NameMember_StatusChange_Date(这是成员开始拥有此状态的日期)。

表B包含3个字段:Member_NameProduct_PurchasedPurchase_Date

两个表都有每个成员的多个记录(例如,一个成员多年来可能有许多不同的状态,一个成员可能在不同的日子购买了许多不同的产品),所以我不能使用标准的PowerPivot关系。

我想我需要进行间接查找(从表B中查找Purchase_Date并找到表A中最接近的匹配Change_Date FOR两个表中匹配的成员并找到正确的表B中每条记录的Member_Status字段。但我无法在PowerPivot中找出实现此目的的公式。

有什么建议吗?

这是一个示例数据文件: http://www.files.com/shared/5460044b6d805/HowToRelateTwoTablesWithNonUniqueRecords.zip

1 个答案:

答案 0 :(得分:1)

我在http://javierguillen.wordpress.com/2012/08/05/approximate-match-with-multiple-criteria-in-dax-part-ii/找到了关于此主题的精彩博客,并找出解决方案。这是适合我的公式。 =计算( LASTNONBLANK(表2 [Member_Status],1), 过滤( 表2, 表2 [日期] =计算(LASTNONBLANK(表2 [日期],1),FILTER(表2,表2 [Member_Name] =表1 [Member_Name]&& Table2 [Date]< = Table1 [Purchase_Date]) )及;&安培;表2 [MEMBER_NAME] =表1 [MEMBER_NAME]))