如何使 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]
)
我有 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]
)