SSRS嵌套IIF/CStr解释
SSRS nested IIF/CStr explanation
有人可以告诉我下面的 IIF 语句是否意味着输出任何以 4 开头的值吗?
=IIF(LEFT(CStr(Fields!CLOCK_NUMBER.Value),1)="4",Fields!JOB_NO.Value, "")
简短的回答是肯定的。
从中间开始向外工作这个表达式正在做以下事情..
- 获取字段的值CLOCK_NUMBER
- 将其转换为字符串(CSTR 函数)
- 取第1个字符(以1为秒参数的LEFT函数)
- 如果等于“4”return JOB_NO
中的值
- 否则return一个空字符串
如果由于某种原因这不起作用,请尝试在 returning 之前将 job_no 转换为字符串,这样可以确保您始终 return 一个字符串(以防 JOB_NO 是数字)。您可以像这样 CSTR(Fields!JOB_NO.Value)
简单地将 job_no 包装在 CSTR 中
转换为..."try to" 将字段 CLOCK_NUMBERS's
原始值转换为字符串并取左 (1) 位最高有效数字,如果该值为“4”则return JOB_NO
字段的值。否则 return 空字符串。
所以,如果第一个数字是 4 那么 return JOB_NO
。
有人可以告诉我下面的 IIF 语句是否意味着输出任何以 4 开头的值吗?
=IIF(LEFT(CStr(Fields!CLOCK_NUMBER.Value),1)="4",Fields!JOB_NO.Value, "")
简短的回答是肯定的。
从中间开始向外工作这个表达式正在做以下事情..
- 获取字段的值CLOCK_NUMBER
- 将其转换为字符串(CSTR 函数)
- 取第1个字符(以1为秒参数的LEFT函数)
- 如果等于“4”return JOB_NO 中的值
- 否则return一个空字符串
如果由于某种原因这不起作用,请尝试在 returning 之前将 job_no 转换为字符串,这样可以确保您始终 return 一个字符串(以防 JOB_NO 是数字)。您可以像这样 CSTR(Fields!JOB_NO.Value)
转换为..."try to" 将字段 CLOCK_NUMBERS's
原始值转换为字符串并取左 (1) 位最高有效数字,如果该值为“4”则return JOB_NO
字段的值。否则 return 空字符串。
所以,如果第一个数字是 4 那么 return JOB_NO
。