DAX : Using USERELATIONSHIP and getting a circular dependency detected error

标签 dax powerquery circular-dependency

我有 2 个表,它们有基于 2 个日期的 2 个关系: “daily_valus”表每个日期都有多个产品,这些产品(日期)连接到 2 个日期(最终调整日期和首次调整日期)的周表。 “首秀调整日期”是事件日期。

enter image description here

我在周表的新列 (ctRow) 中有以下公式:

= calculate( COUNTROWS(daily_valus); USERELATIONSHIP(daily_valus[Détail.Date];weeklies[date fin adjusted]))

该公式有效并且正在获取正确的行数。

不过,我还有一个补充。列,我只是引用 ctRow 列:

= weeklies[ctRow]

然后我得到了下面的错误。

enter image description here

有人知道为什么吗?

最佳答案

从所有列中删除依赖关系应该足够了,但对于使用 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; weeklies [鳍调整日期])。

关于DAX : Using USERELATIONSHIP and getting a circular dependency detected error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65551422/

相关文章:

excel - 如何将 Microsoft ODC 文件/Power Query 从具有超过 200 万行数据的 Excel 文件转换为 CSV 文件?

excel - 如何在 Power Query 中将列转换为表?

delphi - 从 Delphi 的子单元访问主窗体

filter - 如何仅在筛选记录上使用 power bi 中的 MAX 函数?

powerbi - 将公式重新应用于 power bi 中相同类型的新源

excel - 使用 DAX 的表达式中的 "starts with"

python - 如何防止 Flask/SQLAlchemy 模型中出现这种循环引用?

powerbi - 桥接表 - DAX 还是 M?

vba - Excel 数据导入为“15/2”,宏要转换为数字吗?

iOS:循环依赖调用其他类中的方法