gpt4 book ai didi

powerbi - DAX 用户关系函数

转载 作者:行者123 更新时间:2023-12-01 03:07:38 25 4
gpt4 key购买 nike

我在 DAX 中的 Userelationship 函数有这个问题。
我有两张 table 销售资料 DimPromoSkus 像这样:

图表 View 。

Diagram View

数据 View 中的 2 个表是这样的:

数据 View

Data View

这 2 个表链接自 SkuCampaign1 , SkuCampaign2 , SkuCampaign3 销售资料 SkuCampaign 来自 DimPromoSkus。

所以基本上 DimPromoSkus 表的目标是表明产品是否在事件 C1、C2 或 C3 中。
例如,事件 C1 发生在 2019 年 1 月 1 日到 2019 年 4 月 1 日之间,但只有 SKUS A1 和 A2 在促销事件中出售。 A2 和 A3 已停止促销,但在事件 C1 期间售出。

我的目标是计算每个事件 C1、C2 和 C3 的促销销售额。当然,这可以通过查找列来完成,然后计算找到该键的销售额,但我想使用 用户关系 功能。

因此,要计算事件 C1 的 PromoSales,我在理论上的度量应该是:

PromoSalesC1:=CALCULATE(SUM(SalesFact[Sales]);USERELATIONSHIP(SalesFact[SkuCampaign1];DimPromoSkus[SkuCampaign]))

获得的结果应该是 25,但返回的是 155,这是行的总和,所以实际上并没有做任何事情
如果我使用 SkuCampaign2 或 SkuCampaign3 是非事件关系但 ,结果会一直给出 155用户关系 应该激活这个..

知道发生了什么还是我错过了什么? :)
谢谢

最佳答案

@StelioK 是正确的,您需要一种度量方法将过滤器上下文应用于总和。不过,您不需要明确提供一个值。您可以简单地传入 DimPromoSkus table 作为过滤器上下文。

PromoSalesC1 =
CALCULATE(
SUM(SalesFact[Sales]),
DimPromoSkus,
USERELATIONSHIP(SalesFact[SkuCampaign1], DimPromoSkus[SkuCampaign])
)

请记住 CALCULATE函数可以将表作为过滤器参数。在这里,我们提供 DimPromoSkus作为过滤器,这样我们就不会对任何不流经指定关系的值求和。因此,例如,由于 A3 C1不在 DimPromoSkus , 对应行 SalesFact不包括在总和中。

关于powerbi - DAX 用户关系函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55181262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com