首页 > 解决方案 > 试图在 PowerBI 中创建一个错误,根据日期切片器中的单个选定值,它可以为我提供最近 6 个月的准确度

问题描述

在执行以下 DAX 表达式时,我收到错误消息“USERELATIONSHIP 函数只能使用两列引用参与关系”。那你能帮我看看这个表达有什么问题吗?

Accuracy_Last_6_Month = 
VAR ReferenceDate = MAX(Calender[Date])
VAR Last_6Month =
    DATESINPERIOD(
        Calendar_Last6Month[Date].[Date],
        ReferenceDate,
        -6,
        MONTH
    )
VAR Result =
    CALCULATE(
        [Accuracy],
        REMOVEFILTERS(Calender[Date]),
        KEEPFILTERS(Last_6Month),
        USERELATIONSHIP(Calender[Date],Calendar_Last6Month[Date].[Date])
    )
RETURN
    Result

在表之间创建为非激活形式的关系:

在表之间创建的关系为非激活形式

两个表中使用的列:

表中使用的列

标签: powerbidaxpowerbi-desktop

解决方案


您应该能够使用单个日历。您的第二个日历是多余的。

我会写这样的东西:

Accuracy_Last_6_Month = 

CALCULATE([Accuracy], 
FILTER(ALL(Calender), 
Calender[Date] > MAX(Calender[Date])-180 && 
Calender[Date] <= MAX(Calender[Date])))

推荐阅读