如何使 Power BI DAX 度量分别应用于行?

How to make a Power BI DAX measure apply to rows individually?

我有 table 个项目和 table 个周数(代表从今天开始的周数)

尝试使用此度量在项目持续时间内分散每个项目的价值:

RevenuebyWeek= 

IF(
        
    MAX('Table'[InForecast]) = 1 &&
    SUMX('Table','Table'[Start])<=TODAY()+(max(Weeks[WeekRef])*7) &&
    TODAY()+(MAX(Weeks[WeekRef])*7)<sumx('Table','Table'[Finish]),
    
    sumx('Table','Table'[RevenueBacklog])/sumx('Table','Table'[Weeks]),0
)

这在项目级别有效,但一旦您尝试聚合这些值就不行了,请参见下面的屏幕截图。

这是因为该措施适用于所有项目吗?我如何让它单独应用于项目?

是的,您将措施应用于所有项目。

SUMX('Table','Table'[Start])<=TODAY()+(max(Weeks[WeekRef])*7)

SUMX('Table','Table'[Start]) -- seems it can be the unbeatable Value when aggregating

创建 2 个度量 - 一个用于“Hasonevalue”,另一个用于聚合并使用“Switch”或 IF

SUMX 确实按行工作,我只需要将 IF 语句 re-word 放入 SUMX 中的 FILTER。像这样:

RevenueByWeek= 

SUMX(
    FILTER(
        'Table', 
        'Table'[InForecast] = 1 &&
            'Table'[Start] <=TODAY()+(SELECTEDVALUE(Weeks[WeekRef])*7) &&
            TODAY()+(SELECTEDVALUE(Weeks[WeekRef])*7)<'Table'[Finish]
    ),
    'Table'[RevenueBacklog] / 'Table'[Weeks]
)