Как скрыть столбцы, которые не возвращаются с результатами набора данных, используя функцию IsMissing в SSRS - PullRequest
0 голосов
/ 08 мая 2019

У меня есть хранимая процедура, которая удаляет 1 или 2 столбца из набора результатов.В моем отчете SSRS у меня есть все возможные столбцы, которые могут быть получены из результирующего набора в качестве полей набора данных.Я пытаюсь использовать функцию IsMissing, чтобы изменить видимость столбца, но она не работает.Как я могу заставить эту функцию работать?

Я пытался использовать примеры из https://sqlserverbi.blog/tag/hide-columns/ и https://www.allaboutmssql.com/2013/01/ssrs-ismissing-visibility-function.html, где я щелкаю правой кнопкой мыши по столбцу, выбираю Видимость столбца и добавляю выражение в Show илискрыть на основе строки выражения.

Вот как я пытался использовать выражения: Когда я хочу скрыть 2 столбца, которые я использую:

=Fields!LINE_30_A.IsMissing And Fields!LINE_30_B.IsMissing

и когда я хочучтобы скрыть только один из них, я использую:

=Fields!LINE_30.IsMissing

Я также пробовал выражения, подобные этому:

=IIF(Fields!LINE_30_A.IsMissing And Fields!LINE_30_B.IsMissing,True,False)

Я запустил свою хранимую процедуру таким образом, чтобы сбросить 1 изстолбцы из набора результатов.В этом случае выражение Fields!LINE_30.IsMissing должно быть оценено, и я должен увидеть столбцы для полей! LINE_30_A и полей! LINE_30_B.Но я вижу только столбец для полей! LINE_30 (который вообще не должен отображаться), а остальные 2 столбца скрыты.Я также получаю эти 2 предупреждения:

1) Предупреждение [rsErrorReadingDataSetField] Набор данных «DataSet1» содержит определение для поля «LINE_30».Расширение данных вернуло ошибку во время чтения поля.Нет данных для поля в позиции 11.

2) Предупреждение [rsMissingFieldInDataSet] Набор данных «DataSet1» содержит определение для поля «LINE_30».Это поле отсутствует в возвращенном наборе результатов из источника данных.

...