SSRS嵌套IIF/CStr解释

SSRS nested IIF/CStr explanation

有人可以告诉我下面的 IIF 语句是否意味着输出任何以 4 开头的值吗?

=IIF(LEFT(CStr(Fields!CLOCK_NUMBER.Value),1)="4",Fields!JOB_NO.Value, "")

简短的回答是肯定的。

从中间开始向外工作这个表达式正在做以下事情..

  1. 获取字段的值CLOCK_NUMBER
  2. 将其转换为字符串(CSTR 函数)
  3. 取第1个字符(以1为秒参数的LEFT函数)
  4. 如果等于“4”return JOB_NO
  5. 中的值
  6. 否则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