2016-06-14 5 views
0

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

enter image description here

Что является лучшим способом для достижения этой цели в SSRS?

Вот упрощенный пример запроса, используемого в моем наборе данных

Select Diffs.ID 
    , Diffs.Name 
    , Diffs.Hobby 
FROM 
(
    SELECT a.ID 
     , a.Name 
     , a.Hobby 
    FROM Table1 as a 
    INNER JOIN Table2 as b 
     ON a.ID = b.ID 
    WHERE a.Name <> b.Name 
     OR a.Hobby <> b.Hobby 

    UNION 

    SELECT b.ID 
     , b.Name 
     , b.Hobby 
    FROM Table1 as a 
    INNER JOIN Table2 as b 
     ON a.ID = b.ID 
    WHERE a.Name <> b.Name 
     OR a.Hobby <> b.Hobby 

) AS Diffs 
ORDER BY Diffs.ID 

ответ

3

вы можете создать группу в столбце идентификаторов (просто подавить его, так что does't влияет на отчет), а затем в фоновом режиме создать формулу, как

Для окнеИМЯстолбец.

 =iif(CountDistinct(iif(isnothing(Fields!Name.Value) or 
Fields!Name.Value ="","x",Fields!Name.Value),"ID")<> 1 ,"Yellow","Transparent") 
+0

Так близко. Он просто не обрабатывает пробелы. Я обновил свой пример вывода, чтобы включить пустой пример. – Matt

+0

Я обновил свой ответ на счет заготовок и нулей – Kostya

+0

Хороший ответ! Я видел эту картину раньше, но сосредоточил свой ум в другом направлении. –

0

Try это в ячейки цвета фона собственности:

Для окнеИМЯстолбец.

=IIF(Fields!ID.Value=PREVIOUS(Fields!ID.Value) and 
Fields!Name.Value<>PREVIOUS(Fields!Name.Value),"Yellow","Transparent") 

Для колонки Hobby.

=IIF(Fields!ID.Value=PREVIOUS(Fields!ID.Value) and 
Fields!Hobby.Value<>PREVIOUS(Fields!Hobby.Value),"Yellow","Transparent") 

Дайте мне знать, если это поможет.

+0

Спасибо. Это близко, но я думаю, что он выделит только вторую строку. К сожалению, не существует функции Next. – Matt

+0

Можете ли вы поделиться запросом, который вы используете в своем наборе данных? –

+0

Я добавил упрощенную версию моего запроса. Благодарю. – Matt

Смежные вопросы