SSRS вложенное объяснение IIF / CStr - PullRequest
0 голосов
/ 13 марта 2019

Может кто-нибудь сообщить мне, если приведенный ниже оператор IIF означает вывод любого значения, которое начинается с 4, пожалуйста?

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

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Краткий ответ - да.

Начиная с середины и работая наружу, это выражение выполняет следующие действия. *

  1. Получить значение поля CLOCK_NUMBER
  2. Преобразовать это в строку (функция CSTR)
  3. Взять 1-й символ (функция LEFT с 1 в качестве параметра секунд)
  4. Если равные "4" возвращают значение, которое находится вJOB_NO
  5. В противном случае вернуть пустую строку

Если по какой-то причине это не работает, попробуйте преобразовать job_no в строку перед возвратом, тем самым вы всегда будете возвращать строку (в случае, если JOB_NO является числовым).Вы можете просто обернуть job_no в CSTR следующим образом CSTR(Fields!JOB_NO.Value)

0 голосов
/ 13 марта 2019

Переводит в ... "попытаться" преобразовать поле CLOCK_NUMBERS's нативное значение в строку и взять левую (1) старшую цифру (ы), а если это значение равно "4", то вернуть JOB_NO Значение полей. иначе вернуть пустую строку.

Таким образом, если первая цифра равна 4, возвращаем JOB_NO.

...