Рассчитать количество строк в таблице (SSRS, группирующая таблицу) - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть таблица в ssrs следующим образом.Это сгруппировано по Системе и описанию источника, как показано ниже.Мне нужно рассчитать разницу после каждой группировки следующим образом: Calucated Diiference = Initial - Filter - Final = 0. Как вы получаете их значения из таблицы и отображаете их после каждой группировки, как показано ниже

Системный источникОписание Всего строк

Система1

                      Source                100     
                      Initial               100     
                      Filtered              10      
                       Final                90

Расчетная разница = Начальная - отфильтрованная - Конечная = 0

Система2

                      Source                200     
                      Initial               200     
                      Filtered              30      
                       Final                170

Расчетная разница = Начальная -отфильтрованный - финал = 0

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Просто добавьте еще одну строку в вашу таблицу (после финальной) и добавьте следующее выражение в текстовое поле.Важно, чтобы вы добавили область к своим вычислениям, чтобы система знала, что вы хотите получить доступ к значениям на уровне группировки:

=(Fields!Initial.Value, "SystemGroupingName") - (Fields!Filtered.Value, "SystemGroupingName") - (Fields!Final.Value, "SystemGroupingName")
=(100                                       ) - (10                                         ) - (90                                      )

Если значения полей не являются числовыми, вам нужно поставить CDbl() вокруг каждого поля.

0 голосов
/ 27 ноября 2018

Если предположить, что столбцы набора данных называются myCaption (для части описания) и myValue для числовой части, то вы можете написать выражение следующим образом.

=SUM( Fields!myValue.Value * 
    SWITCH(Fields!myCaption.Value = "Initial", 1,
            Fields!myCaption.Value = "Filtered" OR Fields!myCaption.Value = "Final", -1,
            True,0
            )
    )

Это займет только строку сведений myValue иумножает его на: 1, если заголовок «Начальный»;-1 если заголовок «Отфильтрованный» или «Окончательный»;или 0, если это что-то еще.Затем он просто суммирует результаты.

...