Reporting Services 2005 - zwei Datenquellen auf eine temporäre Tabelle?

14/05/2009 - 19:54 von Matthias Schuppe | Report spam
Hallo zusammen,

in den Reporting Serivces 2005 habe ich einen Bericht, dessen
Informationen erst recht zeitintensiv aufbereitet werden müssen. Die
Darstellung erfolgt monatsweise, in tabellarischer Form und als
Diagramm.

In der tabellarischen Darstellung stehen die Monate als Spalten
nebeneinander, deswegen brauche ich hier - im Gegensatz zu den
Diagramm-Daten - eine Pivot-Abfrage. Also habe ich zwei Datenquellen
eingerichtet, die auf eine Prozedur verweisen, die ist ungefàhr so
aufgebaut (bei einer Datenquelle ist "@PivotAbfrage" 1, bei der
anderen 0):

CREATE PROCEDURE dbo.Berichtsdaten
@PivotAbfrage bit
AS
BEGIN



IF (@PivotAbfrage = 1)


ELSE


END

Nun finde ich es aber ziemlich ineffizient, dass die beiden
Datenquellen die Prozedur unabhàngig voneinander aufrufen, dass also
die zeitaufwàndigen Berechnungen zweimal gemacht werden. Es müsste
doch möglich sein, die #Temp-Tabelle nur einmal zu füllen und dann aus
dem Bericht mit zwei unterschiedlichen Selects darauf zuzugreifen.

Wie stellt man so was an??

Gruß,

Matthias
 

Lesen sie die antworten

#1 Willfried Faerber [MVP]
14/05/2009 - 20:36 | Warnen spam
Hallo Matthias,

es kommt darauf an ...
Wenn Du nur unterschiedliche Filterbedingungen gegen die Daten machen musst,
dann kannst Du das in der Tat in SSRS machen. Die Tabelle, Matrix, Liste und
die Diagramme erlauben es, dass Du auf EIN Resultset mit Filterbedingungen
Einschrànkunen machen kannst. Wenn Dir das reicht

Problematischer wird es, wenn Dein Zwischenergebnis sehr gross ist, dann
kannst Du auch SSRS mit dieser Technik in die Knie zwingen.

Viele Grüße
Willfried Fàrber

"Matthias Schuppe" schrieb im Newsbeitrag
news:
Hallo zusammen,

in den Reporting Serivces 2005 habe ich einen Bericht, dessen
Informationen erst recht zeitintensiv aufbereitet werden müssen. Die
Darstellung erfolgt monatsweise, in tabellarischer Form und als
Diagramm.

In der tabellarischen Darstellung stehen die Monate als Spalten
nebeneinander, deswegen brauche ich hier - im Gegensatz zu den
Diagramm-Daten - eine Pivot-Abfrage. Also habe ich zwei Datenquellen
eingerichtet, die auf eine Prozedur verweisen, die ist ungefàhr so
aufgebaut (bei einer Datenquelle ist "@PivotAbfrage" 1, bei der
anderen 0):

CREATE PROCEDURE dbo.Berichtsdaten
@PivotAbfrage bit
AS
BEGIN



IF (@PivotAbfrage = 1)


ELSE


END

Nun finde ich es aber ziemlich ineffizient, dass die beiden
Datenquellen die Prozedur unabhàngig voneinander aufrufen, dass also
die zeitaufwàndigen Berechnungen zweimal gemacht werden. Es müsste
doch möglich sein, die #Temp-Tabelle nur einmal zu füllen und dann aus
dem Bericht mit zwei unterschiedlichen Selects darauf zuzugreifen.

Wie stellt man so was an??

Gruß,

Matthias

Ähnliche fragen