службы отчетов SQL Server 2008 - PullRequest
0 голосов
/ 26 мая 2011

Я пытаюсь сгенерировать матричный отчет.У меня есть строка SSN и трехзначный кодовый столбец.Трехзначные коды случайным образом вставляются в ячейки отчета, по одному в строке.Я хотел бы, чтобы они отображались в одном столбце.Я пытался ...

=Iif(IsNothing(Fields!CODE.Value),"The Field Is Null",Fields!CODE.Value)

Но это просто отображает "Поле пустое".Я хочу отметить, как показано в ...

=Iif(IsNothing(Fields!CODE.Value),"",Fields!CODE.Value)

Но исключить сами нулевые ячейки.Кто-нибудь знает хитрость, чтобы справиться с этим?

результат будет выглядеть так ...

ssn          code
123456789    123
123456789    123
and so on

Моя матричная структура выглядит следующим образом ... enter image description here

и значение Exp теперь установлено на = Iif (IsNothing (Fields! ID5.Value), «Поле пустое», Fields! ID5.Value) Примечание. ID5 - это просто соглашение об именах.ID5 соответствует коду.ID2 соответствует SSN.

1 Ответ

1 голос
/ 26 мая 2011

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

Вероятно, самый простой способ сделать это в запросе:

SELECT SSN, IsNull(Code1, '') + IsNull(Code2, '') + IsNull(Code3, '') AS Code
FROM MyTable

В качестве альтернативы, сделать это в выражении в службах Reporting Services:

=IIF(IsNothing(Fields!Code1.Value), "", Fields!Code1.Value) + IIF(IsNothing(Fields!Code2.Value), "", Fields!Code2.Value)

и т. Д....

...