问题描述
我有一个用于整数类型,通用格式列的DAX函数,我正在Visual Studio中的MS Analysis表格服务器上进行修改。目前,该功能现在可以使用。但是我想根据操作需求的顺序翻转2条规则。这样做时,除非我将列转换为文本列,否则它将破坏功能。我不想这样做,因为其他列使用此值进行其他计算。
=
IF (
'Fact NASA Employee Data'[Source Tablename Short] = "S",BLANK (),IF (
'Fact NASA Employee Data'[ActivityDesignator] = "N",IF (
OR (
'Fact NASA Employee Data'[HR EmployeeStatus] = "L",'Fact NASA Employee Data'[HR EmployeeStatus] = "P"
),IF (
-1
* (
DATEDIFF (
'Fact NASA Employee Data'[LC TrainingCompletionDate],TODAY (),YEAR
)
) >= -1,IF (
'Fact NASA Employee Data'[Team Member Activity Status] = "Suspended - Pending Initial Training",FORMAT (
DATEDIFF ( 'Fact NASA Employee Data'[DesignationDate Shortdate],DAY ),"General Number"
),IF (
OR (
'Fact NASA Employee Data'[Team Member Activity Status] = "Suspended - Training Past Due",'Fact NASA Employee Data'[Team Member Activity Status] = "Suspended - Notary License Expired and Training Past Due"
),FORMAT (
DATEDIFF (
'Fact NASA Employee Data'[Training Completion Year First Day of Year Plus 2 Years],DAY
),"General Number"
),BLANK ()
)
)
)
)
)
)
我要按顺序切换的规则是第4条和第5条IF语句,因此IF#4:IF(-1*(DATEDIFF('Fact NASA Employee Data'[LC TrainingCompletionDate],today(),YEAR))>=-1,Blank()
应遵循IF#5:IF('Fact NASA Employee Data'[Team Member Activity Status]="Suspended - Pending Initial Training",format(DATEDIFF('Fact NASA Employee Data'[DesignationDate Shortdate],TODAY(),DAY),"General Number")
我尝试向IF#4添加FORMAT函数。仍然不起作用。我得到的错误是“无法将类型的值转换为Text以将其转换为Integer”。似乎不喜欢#4,其结果是数字后是Blank,但这似乎很奇怪。我很沮丧。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)