如何在 Power BI (DAX) 中将条件放入筛选器中?
How do I put a condition inside a filter in power BI (DAX)?
我刚刚开始使用 Power BI,正在努力创建度量。我正在尝试计算我的“重新分区”列的总和,但使用了一些过滤器。
这是我目前的衡量标准:
Nb_Actifs = CALCULATE (SUM(PAIE[Repartition]), FILTER(PAIE, PAIE[REMUNERABLE] = "Oui"), IF(PAIE[PROFIL]="CC", FILTER(PAIE, PAIE[Taux_Contractuel]<> 0)))
我在 IF 语句之前放置的过滤器是我想要应用于所有行的过滤器。语句后面的是我只想应用于满足条件 PAIE[PROFIL]="CC" 的行的过滤器。
但是,我收到此错误消息:“函数 'FILTER' 已用于用作 table 过滤器表达式的 True/False 表达式。这是不允许的。 “
据我所知,我需要用筛选器替换 IF 函数,但由于已经有多个筛选器,我对如何在 Power BI 中执行此操作感到困惑。
有人可以帮我吗?
您可以在过滤器中添加一些逻辑来捕获您需要的所有条件 return:
Nb_Actifs =
CALCULATE (
SUM ( PAIE[Repartition] ),
FILTER (
PAIE,
PAIE[REMUNERABLE] = "Oui" && (( PAIE[PROFIL] = "CC" && PAIE[Taux_Contractuel] <> 0 ) || PAIE[PROFIL] <> "CC" )
)
)
我认为 SUMX 函数在这里更合适。您还希望将所有逻辑放入单个 FILTER 中。尝试
Nb_Actifs =
SUMX(
FILTER(
PAIE,
PAIE[REMUNERABLE] = "Oui" &&
(
(PAIE[PROFIL] = "CC" && PAIE[Taux_Contractuel] <> 0) ||
(PAIE[PROFIL] <> "CC")
)
),
PAIE[Repartition]
)
无论您是否使用 SUMX,将您的所有逻辑放入具有相应逻辑的单个 FILTER 中将解决您的条件过滤器问题。
我刚刚开始使用 Power BI,正在努力创建度量。我正在尝试计算我的“重新分区”列的总和,但使用了一些过滤器。
这是我目前的衡量标准:
Nb_Actifs = CALCULATE (SUM(PAIE[Repartition]), FILTER(PAIE, PAIE[REMUNERABLE] = "Oui"), IF(PAIE[PROFIL]="CC", FILTER(PAIE, PAIE[Taux_Contractuel]<> 0)))
我在 IF 语句之前放置的过滤器是我想要应用于所有行的过滤器。语句后面的是我只想应用于满足条件 PAIE[PROFIL]="CC" 的行的过滤器。
但是,我收到此错误消息:“函数 'FILTER' 已用于用作 table 过滤器表达式的 True/False 表达式。这是不允许的。 “
据我所知,我需要用筛选器替换 IF 函数,但由于已经有多个筛选器,我对如何在 Power BI 中执行此操作感到困惑。
有人可以帮我吗?
您可以在过滤器中添加一些逻辑来捕获您需要的所有条件 return:
Nb_Actifs =
CALCULATE (
SUM ( PAIE[Repartition] ),
FILTER (
PAIE,
PAIE[REMUNERABLE] = "Oui" && (( PAIE[PROFIL] = "CC" && PAIE[Taux_Contractuel] <> 0 ) || PAIE[PROFIL] <> "CC" )
)
)
我认为 SUMX 函数在这里更合适。您还希望将所有逻辑放入单个 FILTER 中。尝试
Nb_Actifs =
SUMX(
FILTER(
PAIE,
PAIE[REMUNERABLE] = "Oui" &&
(
(PAIE[PROFIL] = "CC" && PAIE[Taux_Contractuel] <> 0) ||
(PAIE[PROFIL] <> "CC")
)
),
PAIE[Repartition]
)
无论您是否使用 SUMX,将您的所有逻辑放入具有相应逻辑的单个 FILTER 中将解决您的条件过滤器问题。