我是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贡献表:
员工信息表:
答案 0 :(得分:0)
对所有数据按原样使用度量。然后,您构建数据透视表,在其中可以对Employee Type使用过滤器或切片器以排除不需要的值。将度量添加到“值”区域,它将仅针对数据透视表的行和列中的数据进行计算。
答案 1 :(得分:0)
对于OR
条件,您应该可以将其添加为另一个过滤器:
= CALCULATE (
VALUES ( SSSContribution[EE] ),
FILTER (
SSSContribution,
[NMRPaySum] >= SSSContribution[Lower Bound] &&
[NMRPaySum] <= SSSContribution[Upper Bound]
),
FILTER (Salary, Salary[Type] = "Regular" || SalaryType = "Agency")
)
根据您的确切数据模型/关系结构,这可能会或可能不会起作用,但它可能会为您指明正确的方向。您可能需要使用RELATED
/ RELATEDTABLE
,但是我不确定自己不能玩它。