3

enter image description hereSSRS условно удалить строки из таблицы


Preview Mode as is now


Я новичок в SSRS и нужно, чтобы получить эту работу для моего проекта (работа не школа)

I внедрили данные, которые должны быть скрыты от выражения

=IIF(Fields!Offset1.Value = "",true,false) 

Проблема в том, что она оставляет пустое пространство, в котором эти значения были бы в моем отчете. Мне нужно, чтобы пространство тоже исчезло. Любая помощь была бы высоко оценена !!

EDIT: Забыл упомянуть, что я получаю мои данные из MS Access DB (если это имеет значение)

+1

Вы пытаетесь скрыть всю строку или столбец? Я думаю, что скриншот был бы полезен в этом случае. –

+0

@ Эрик Скриншоты добавлены в соответствии с запросом. – SteveAnselment

+0

@ Эрик Удаление строк – SteveAnselment

ответ

5

После того, как большая часть головы царапается и думает об этом по-разному. @django заставил меня думать о видимости, а не о скрытых свойствах. Я щелкнул вкладку заголовка строки и нажал на параметр Row Visability .... Появится диалоговое окно «Изменить параметры отображения». Я выбрал Show или hide на основе выражения, а затем кнопку fx для создания выражения.Выражение я использовал, был

=IIF(ISNOTHING(Fields!Offset1.value),true,false) 

нажал OK

Ран Предварительный просмотр и это то, что я получил в результате: Finished Product!!

+0

Это тоже работает. Я забыл об этом, чтобы быть честным, но да, вы также можете установить видимость в столбцах строк AND. В SSRS, как и в большинстве разработок, есть много способов добиться того, чего вы хотите. – djangojazz

+0

Я согласен ... Иногда это просто делает шаг назад и думает о том, что вы хотите по-другому, что фактически приведет вас туда, куда вы собираетесь идти! Не бойтесь +1, если это помогает кому-либо еще! – SteveAnselment

1

Это звучит, как вам нужно «видимость» на группирование более скрытом выражения, и вы можете используйте ISNOTHING() вместо = "". Я уверен (не уверен, что не цитирую меня;)), что SSRS оценивает скрытые, чтобы скрывать значения, а не сам контейнер объекта (строка). Вы можете быть лучше с группой или группой «детали», чтобы иметь оценочное выражение «видимость», а не элемент, который вы использовали. Давайте дадим очень простой пример, чтобы привести домой концепцию:

  1. Создайте простой набор данных в новом отчете. DataSource не имеет значения, поскольку это только переменная таблицы, которая является автономной.

    declare @Temp table (Code char(1), Value int) 
    insert into @Temp values ('A', 1), ('B', 2), ('A',null); 
    
    select * from @Temp 
    
  2. Создать таблицу с помощью панели инструментов и заполнить обе колонки с данными из вашего набора.

  3. Скопируйте и вставьте эту таблицу прямо под себя в отчет.

  4. Теперь для второго отчета щелкните в любом месте внутри него, но в левом нижнем углу вы увидите «Группы строк» ​​в представлении «Дизайн» для Business Intelligence Development Studio (или веб-создателя, если вы используете это). Щелкните правой кнопкой мыши '= (Details1)' (или аналогичный) и выберите «Свойства группы».

  5. Теперь выберите «Visibilty» на левой панели. Это касается всей группировки, а не только ячейки в элементе. Нажмите «Fx» в разделе «Показать или скрыть на основе выражения».

  6. Введите в выражении:

    =IIF(ISNOTHING(Fields!Value.Value) , true, false) 
    
  7. Предварительный отчет. Вы должны увидеть первую таблицу с тремя строками, а вторую таблицу IGNORES - третью строку, потому что она квалифицируется как ничто, что она оценивает, чтобы ENTIRE GROUPING означала «не показывать».

+0

Я не совсем уверен, что получаю то, что вы хотите, чтобы я сделал ... Должен ли я создать совершенно новый отчет ради временной таблицы? Если это так, как это сделать с БД доступа? Я пробовал следовать вашим шагам и не анализировал код declare (по символу) Temp ... и т. Д. – SteveAnselment

+0

Мне нравится ISNOTHING() Пробовал и работает, но все еще имеет проблемы с скрытыми данными строки, но не с пространством, которое оно потребовало бы – SteveAnselment

+0

Отмечено как ответ, чтобы помочь мне подумать об этом по-другому, чем я должен был придумать правильный ответ ... THANK YOU @django – SteveAnselment