0

Я использую 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?

ответ

0

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