Как определить количество видимых дочерних элементов в иерархическом отчете?

StackOverflow https://stackoverflow.com/questions/1472224

Вопрос

Я использую SQL Server Reporting Services 2008 для создания отчета.В таблице в этом отчете отображаются иерархические данные с использованием полей ID и ParentID в данных.Каждая строка данных имеет поле ID и поле ParentID, где ParentID указывает на идентификатор строки, которая является ее родительской.

Отобразить это иерархически не проблема, но теперь я хочу посчитать количество подэлементов в данной строке.Например:

row A            (5)
  sub A          (0)
  sub B          (2)
    sub-sub A    (0)
    sub-sub B    (0)
  sub C          (0)

Я могу вычислить это количество, используя следующее выражение:

=Count(Fields!IDField.Value, "RowDetails", Recursive) - 1

Однако иногда я хочу скрыть определенные строки, например.я хочу спрятаться sub-sub A.Как я могу изменить приведенное выше выражение так, чтобы оно показывало количество (1) для sub B в этом случае?

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top