Come determinare il numero dei bambini visibili in un rapporto gerarchico?
-
16-09-2019 - |
Domanda
Sto utilizzando SQL Server Reporting Services 2008 per creare un report. Una tabella in questo report visualizza dati gerarchici, utilizzando un ID e il campo ParentID nei dati. Ogni riga di dati ha un campo ID e un campo ParentID, dove i punti ParentID al ID della riga che è suo genitore.
Visualizzazione di questa gerarchicamente non è un problema, ma ora voglio contare il numero di sotto-voci di una determinata riga. Ad esempio:
row A (5) sub A (0) sub B (2) sub-sub A (0) sub-sub B (0) sub C (0)
posso calcolare questo conteggio utilizzando la seguente espressione:
=Count(Fields!IDField.Value, "RowDetails", Recursive) - 1
Tuttavia, a volte voglio nascondere alcune righe, per esempio Voglio nascondere sub-sub A
. Come posso alterare l'espressione di cui sopra in modo tale che mostrerà un conteggio di (1)
per sub B
in questo caso?
Soluzione
Sembra essere molto difficile (se non impossibile) per fare questo nel rapporto. Invece, abbiamo spostato il calcolo della gerarchia e il numero di bambini per una stored procedure. La SP fa tutti i calcoli necessari, il report visualizza semplicemente ciò che riceve dal SP e si applica solo formattazione semplice (se necessario) in base ai valori calcolati.