DAX:使用 USERELATIONSHIP 并获取循环依赖检测错误
DAX : Using USERELATIONSHIP and getting a circular dependency detected error
我有 2 个 table 有两个基于 2 个日期的关系:
“daily_valus”table 每个日期有多个产品,这些产品(日期)与 2 个日期的周刊 table 相关(日期调整和日期调整)。 “date début adjusted”是活跃的。
我在周报的新列 (ctRow) 中有以下公式 table :
= calculate( COUNTROWS(daily_valus); USERELATIONSHIP(daily_valus[Détail.Date];weeklies[date fin adjusted]))
公式有效,行数正确。
不过,我还有一个补充。列,我只是引用 ctRow 列:
= weeklies[ctRow]
然后我得到了下面的错误。
有谁知道为什么吗?
使用 ALLEXCEPT
从所有列中删除依赖关系应该就足够了,但要在关系中使用日期
=
CALCULATE(
COUNTROWS( daily_valus );
USERELATIONSHIP ( daily_valus[Détail.Date]; weeklies[date fin adjusted] );
ALLEXCEPT( weeklies; weeklies[date fin adjusted] )
)
编辑:
循环依赖的发生是因为当我们使用 CALCULATE 时,会发生上下文转换,以将当前行上下文转换为我们正在评估计算列的当前行。
这意味着在当前行的每一列(包括复制 ctRow 的第二个计算列)上设置筛选器上下文,我将其称为 ctRow2。但是 ctRows2 依赖于 ctRow,因此我们得到循环依赖。
为了解决循环依赖,我们必须从上下文转换的结果中移除依赖,但将过滤器保留在关系起作用所需的列上,在我们的例子中,这意味着使用 ALLEXCEPT( weeklies ; 周报[调整后的日期]).
我设法通过删除 USERELATIONSHIP 行解决了类似的错误,这在我的案例中是不需要的。因此,一种解决方案应该是使连接处于活动状态,然后删除此行。
我有 2 个 table 有两个基于 2 个日期的关系: “daily_valus”table 每个日期有多个产品,这些产品(日期)与 2 个日期的周刊 table 相关(日期调整和日期调整)。 “date début adjusted”是活跃的。
我在周报的新列 (ctRow) 中有以下公式 table :
= calculate( COUNTROWS(daily_valus); USERELATIONSHIP(daily_valus[Détail.Date];weeklies[date fin adjusted]))
公式有效,行数正确。
不过,我还有一个补充。列,我只是引用 ctRow 列:
= weeklies[ctRow]
然后我得到了下面的错误。
有谁知道为什么吗?
使用 ALLEXCEPT
从所有列中删除依赖关系应该就足够了,但要在关系中使用日期=
CALCULATE(
COUNTROWS( daily_valus );
USERELATIONSHIP ( daily_valus[Détail.Date]; weeklies[date fin adjusted] );
ALLEXCEPT( weeklies; weeklies[date fin adjusted] )
)
编辑:
循环依赖的发生是因为当我们使用 CALCULATE 时,会发生上下文转换,以将当前行上下文转换为我们正在评估计算列的当前行。
这意味着在当前行的每一列(包括复制 ctRow 的第二个计算列)上设置筛选器上下文,我将其称为 ctRow2。但是 ctRows2 依赖于 ctRow,因此我们得到循环依赖。
为了解决循环依赖,我们必须从上下文转换的结果中移除依赖,但将过滤器保留在关系起作用所需的列上,在我们的例子中,这意味着使用 ALLEXCEPT( weeklies ; 周报[调整后的日期]).
我设法通过删除 USERELATIONSHIP 行解决了类似的错误,这在我的案例中是不需要的。因此,一种解决方案应该是使连接处于活动状态,然后删除此行。