我在DAX中使用Userelationship函数时遇到了问题。我有两个表SalesFact和DimPromoSkus,如下所示:
图表视图。
Data View包含2个表:
Data View
这两个表通过SalesFact中的SkuCampaign1、SkuCampaign2和SkuCampaign3与DimPromoSkus中的SkuCampaign相关联。
因此,DimPromoSkus表的目标是指示产品是否参加了C1、C2或C3活动。例如,C1活动发生在2019年1月1日至2019年4月1日之间,但只有A1和A2在促销期间出售。A2和A3虽然在C1期间销售,但未参加促销活动。
我的目标是计算每个C1、C2和C3活动的促销销售额。当然,可以使用lookupcolumn进行计算,并计算找到该键的销售额,但我想使用USERELATIONSHIP函数。
因此,在理论上,对于C1活动的促销销售额,我的措施应该是:
PromoSalesC1:=CALCULATE(SUM(SalesFact[Sales]);USERELATIONSHIP(SalesFact[SkuCampaign1];DimPromoSkus[SkuCampaign]))
获得的结果应该是25,但返回的是155,这是行的总和,实际上并没有做什么 如果我使用SkuCampaign2或SkuCampaign3,则结果仍为155,这些关系是不活动的,但是USERELATIONSHIP应该激活它.. 有什么想法或者我错过了什么吗? :) 谢谢
Campaign1
相关联的多个代码(例如C10
、C11
、C12
),您不能仅指定一个并获得相同的结果。 - Alexis Olson