[英]i am new to power bi dax measure. how do i rewrite this excel formula in dax measure
[英]How to add an if statement in a DAX formula measure?
我是DAX的新手,並且創建了兩種方法來獲取每個員工的總薪資,然后將總薪資查詢到表中並在Power Pivot中返回一個值。
總薪資標准:
NMRPaySum:=SUMX(Pay,[Regular Pay]+[Overtime Pay]+[Other Pay])
范圍查找措施:
SSSContributionEE :=
CALCULATE (
VALUES ( SSSContribution[EE] ),
FILTER (
SSSContribution,
[NMRPaySum] >= SSSContribution[Lower Bound] &&
[NMRPaySum] <= SSSContribution[Upper Bound]
)
)
但是,我需要范圍查找來僅計算是否滿足員工類型。
邏輯如下:
If Employee[Type]="Regular" Then
Calculate SSSConbtributionEE
Else
0
End If
我已經嘗試過這個DAX公式,但是似乎沒有用:
=
IF (
OR ( Salary[Type] = "Regular", Salary[Type] = "Agency" ),
CALCULATE (
VALUES ( SSSContribution[EE] ),
FILTER (
SSSContribution,
[NMRPaySum] >= SSSContribution[Lower Bound] &&
[NMRPaySum] <= SSSContribution[Upper Bound]
)
),
0
)
SSS貢獻表:
員工信息表:
對於所有數據,請按原樣使用度量。 然后,您構建數據透視表,在其中可以對Employee Type使用過濾器或切片器以排除不需要的值。 將度量添加到“值”區域,它將僅針對數據透視表的行和列中的數據進行計算。
對於OR
條件,您應該可以將其添加為另一個過濾器:
= CALCULATE (
VALUES ( SSSContribution[EE] ),
FILTER (
SSSContribution,
[NMRPaySum] >= SSSContribution[Lower Bound] &&
[NMRPaySum] <= SSSContribution[Upper Bound]
),
FILTER (Salary, Salary[Type] = "Regular" || SalaryType = "Agency")
)
根據您的確切數據模型/關系結構,這可能會或可能不會起作用,但它可能會為您指明正確的方向。 您可能需要使用RELATED
/ RELATEDTABLE
,但是我不確定自己是否可以使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.