Domanda

Sto creando un rapporto "master" in SSRS 2008 che collabora con altri rapporti su una persona. A volte non tutti gli altri report sono rilevanti e come tali non restituiscono nulla. Vorrei poterlo escludere dal rapporto principale in modo che non lasci una pagina vuota.

Sono a conoscenza della funzione "nessun file di righe", ma un'intera pagina con semplicemente "Non applicabile per questa persona" non è certo la soluzione migliore!

Essenzialmente sto cercando un modo per determinare se un sottoreport è "vuoto" e utilizzarlo in un'espressione di visibilità.

Qualsiasi aiuto è molto apprezzato

È stato utile?

Soluzione

OK, ora ho capito questo. La risposta è posizionare il sottoreport in un rettangolo. Quindi imposta la visibilità del rettangolo su qualcosa del genere:

=IIF(First(Fields![SOMEFEILD].Value, "[SOMEDATASET]") IS NOTHING, TRUE, FALSE)

Dove [SOMEDATASET] è un set di dati popolato allo stesso modo di quello che popola il sottoreport. Quindi se il sottoreport è vuoto, anche [SOMEDATASET] sarà vuoto e, più precisamente, il campo [SOMEFEILD] sarà uguale a NIENTE .

Bada-Bing! Un rapporto che non è ingombro di pagine vuote che sprecano carta.

Nota: c'è un brutto effetto collaterale in questo approccio, in quanto il server SQL invierà le stesse informazioni due volte, una volta per popolare il set di dati del sottoreport e di nuovo per popolare il set di dati duplicato nel report. Per me, questo è accettabile, altri potrebbero voler esserne consapevoli.

Altri suggerimenti

Questa soluzione ha funzionato per me come previsto, eliminando il collegamento ipertestuale al sottorep. Nel menu «Azione» nella sezione in cui si specifica il nome del sottoreport:

=iif(fields!SomfieldName.Value <> Nothing, "YourSubReportName",Nothing)

Soluzione semplice e facile!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top