Проблема выражения SSRS - PullRequest
       6

Проблема выражения SSRS

0 голосов
/ 29 октября 2018

У меня есть столбец sg1 с датой в виде строки и может иметь некоторые дополнительные символы, такие как

25/10/18 (M) 
25/06/15 (P) this is planned.

Мой формат даты - ДД / ММ / ГГ. Я должен покрасить клетки на основе значения ячейки. Я написал выражение цвета фона для столбца. Последнее условие не работает и выдает ошибку.

=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray", 
IIF(Fields!sg1.Value="b","Blue",
IIF((LEN(Fields!sg1.Value)=12 And
Format(LEFT(Fields!sg1.Value,8),"YY-MM-DD")<Today),"Pink", 
"Green"))))

Я не могу понять, в чем проблема.

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Это сложнее, чем я думал. Я сам проверил, и так должно работать:

=IIF(Fields!sg1.Value = "W","Khaki", 
 IIF(Fields!sg1.Value="g","Gray", 
 IIF(Fields!sg1.Value="b","Blue", 
 IIF((LEN(Fields!sg1.Value)=12 And 
 DateSerial(Mid(Fields!sg1.Value, 7, 2),
            Mid(Fields!sg1.Value, 4, 2), 
            Left(Fields!sg1.Value, 2))  
            <Today),"Pink", "Green"))))

Откуда 25/10/18 равно Mid(Fields!sg1.Value, 7, 2) = 18 (YY), Mid(Fields!sg1.Value, 4, 2) = 10 (MM) и Left(Fields!sg1.Value, 2) = 18 (DD).

0 голосов
/ 29 октября 2018

Попробуйте изменить ваше последнее состояние с помощью этой идеи:

And
CDate(LEFT(Fields!sg1.Value,8))<Today(),"Pink", "Green")

С вашими полями этот код должен быть в порядке:

=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray", 
IIF(Fields!sg1.Value="b","Blue",
IIF(LEN(Fields!sg1.Value)=12 And
CDate(LEFT(Fields!sg1.Value,8))<Today(),"Pink", "Green"))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...