Benutzer mit den meisten Antworten
SSRS Tabellen und Datasets

Frage
-
Hallo
Ausgangslage: Ein Bericht enthält nur ein Dataset, das von drei einzelnen Tabellen verwendet wird.
Wie funktioniert in diesem Fall der Datenfluss. Wird das Dataset einmalig durchgeführt und dann die ermittelten Daten jeweils von den Tabellen benutzt, oder wird das Dataset dreimal, also für jede Tabelle aufgerufen?
Vielen Dank
Peter
Sql Server 2008 R2 Business Intelligence Development Studio Visual Basic 2010 Express Excel 2010
Antworten
-
Hallo Peter,
Kalle liegt vollkommen richtig. Rufst Du aus einem Report ein Dataset in mehreren Tablix-Objekten auf, so wird die Source nur ein Mal abgefragt. Hast Du jedoch in einem Bericht mehrere Unterberichte, so wird jeder Unterbericht separat aufgerufen.
Den nachfolgenden Trace habe ich während der Ausführung von zwei Berichten aufgezeichnet. Der erste Bericht (rote Markierung) hat drei Tablix-Objekte, denen das gleiche Dataset zu Grunde liegt, während der zweite Bericht drei Unterberichte besitzt (blaue Umrandung)
Eine - aus dem Test resultierende - interessante Beobachtung habe ich ebenfalls gemacht. Die Source wird in der IDE gecached. Die Daten werden nur bei "Aktualisieren" erneut vom Server geladen. Selbst, nachdem ich die IDE geschlossen und wieder geöffnet habe, war im Trace noch nichts zu sehen :)
Der Trace sollte aber Deine Annahme nun verifizieren können.
Uwe Ricken
MCSE - SQL Server 2012
MCSA - SQL Server 2012
MCITP Database Administrator 2005
MCITP Database Administrator 2008
MCITP Microsoft SQL Server 2008, Database Development
db Berater GmbH
http://www-db-berater.de
SQL Server Blog (german only)- Bearbeitet Uwe RickenMVP Dienstag, 29. Januar 2013 12:52
- Als Antwort markiert Peter01 Dienstag, 29. Januar 2013 13:00
-
Hallo Peter,
das Tracen übernimmt der SQL Profiler. Der ist im SSMS (SQL Server Management Studio) abrufbar.
Alternativ natürlich auch über das Startmenü, wenn Du einen lokalen SQL Server installiert hast.Uwe Ricken
MCSE - SQL Server 2012
MCSA - SQL Server 2012
MCITP Database Administrator 2005
MCITP Database Administrator 2008
MCITP Microsoft SQL Server 2008, Database Development
db Berater GmbH
http://www-db-berater.de
SQL Server Blog (german only)- Als Antwort markiert Peter01 Dienstag, 29. Januar 2013 13:36
Alle Antworten
-
Ich würde sagen, wenn die Tabellen alle in einen unterschiedlichen report sind, dann wird das Dataset 3 mal ausgeführt. Befinden sich aber alle Tabellen in den selben report, wird das Dataset einmal ausgeführt und das Ergebnis in den Tabellen angezeigt.
Ob es so stimmt, weiß ich aber nicht.
Kalle
-
Hallo KalleSql
Danke für die Antwort. Es geht mir genau so wie dir. Ich vermute auch das es sich so verhält, würde es aber gerne verifizieren.
Liebe Grüße
Peter
Sql Server 2008 R2 Business Intelligence Development Studio Visual Basic 2010 Express Excel 2010
-
Hallo Peter,
mit dem Profiler könntest du mitschneiden, welche Statements abgesetzt werden.Stellt man sich vor, das Statement würde drei mal abgesetzt, dann könnte es ja unter Umständen auch drei verschiedene Ergebnisse liefern. Ich denke, da hätte keiner Spaß dran, weder der Datenbank-Server, noch der User, der so schräge Antworten erhält.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu -
Hallo Peter,
Kalle liegt vollkommen richtig. Rufst Du aus einem Report ein Dataset in mehreren Tablix-Objekten auf, so wird die Source nur ein Mal abgefragt. Hast Du jedoch in einem Bericht mehrere Unterberichte, so wird jeder Unterbericht separat aufgerufen.
Den nachfolgenden Trace habe ich während der Ausführung von zwei Berichten aufgezeichnet. Der erste Bericht (rote Markierung) hat drei Tablix-Objekte, denen das gleiche Dataset zu Grunde liegt, während der zweite Bericht drei Unterberichte besitzt (blaue Umrandung)
Eine - aus dem Test resultierende - interessante Beobachtung habe ich ebenfalls gemacht. Die Source wird in der IDE gecached. Die Daten werden nur bei "Aktualisieren" erneut vom Server geladen. Selbst, nachdem ich die IDE geschlossen und wieder geöffnet habe, war im Trace noch nichts zu sehen :)
Der Trace sollte aber Deine Annahme nun verifizieren können.
Uwe Ricken
MCSE - SQL Server 2012
MCSA - SQL Server 2012
MCITP Database Administrator 2005
MCITP Database Administrator 2008
MCITP Microsoft SQL Server 2008, Database Development
db Berater GmbH
http://www-db-berater.de
SQL Server Blog (german only)- Bearbeitet Uwe RickenMVP Dienstag, 29. Januar 2013 12:52
- Als Antwort markiert Peter01 Dienstag, 29. Januar 2013 13:00
-
Hallo Uwe
Vielen Dank für die umfangreiche Antwort. Ja, Dein Test hat unsere Annahme einwandfrei bestätigt. Die Tracemöglichkeit hab ich noch gar nicht gekannt. Wie/Wo kann man diesen Trace erstellen? Im BI Visual Studio?
Liebe Grüße
Peter
Sql Server 2008 R2 Business Intelligence Development Studio Visual Basic 2010 Express Excel 2010
-
Hallo Peter,
das Tracen übernimmt der SQL Profiler. Der ist im SSMS (SQL Server Management Studio) abrufbar.
Alternativ natürlich auch über das Startmenü, wenn Du einen lokalen SQL Server installiert hast.Uwe Ricken
MCSE - SQL Server 2012
MCSA - SQL Server 2012
MCITP Database Administrator 2005
MCITP Database Administrator 2008
MCITP Microsoft SQL Server 2008, Database Development
db Berater GmbH
http://www-db-berater.de
SQL Server Blog (german only)- Als Antwort markiert Peter01 Dienstag, 29. Januar 2013 13:36
-
Hallo Christoph
Tut mir leid, dass ich erst heute auf Deine Hilfestellung antworte, aber aus irgendeinem Grund hab ich eine Mailverständigung bekommen das du mir geantwortet hast, aber leider war dein Beitrag hier im Forum nicht zu sehen.
Das mit den "schrägen Antworten" bei dreimaligem Aufruf hat mich sicher gemacht das es sich so verhält, dass nur einmal gelesen wird. Obwohl es mir nicht logisch erscheint, dass bei drei Subreports dreimal gelesen wird und dadurch die Gefahr von "schrägen Antworten" da auch gegeben ist.
Vielen Dank für Deine Hilfe
Peter
Sql Server 2008 R2 Business Intelligence Development Studio Visual Basic 2010 Express Excel 2010
-
Hallo Peter,
ich poste über die community bridge und aktuell haben meine Antworten leider einen Zeitverzug bis zur Darstellung im Forum von einigen Minuten, während die User mit Community Bridge diese sofort sehen können.
http://communitybridge.codeplex.com/Aber der ausführliche Text von Uwe war ja schon vielsagend genug.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
http://www.insidesql.org/blogs/cmu/ -
Falls dieses Posting dann mal sichtbar ist, noch die Info über den Fehler in der NNTP-Bridge:
Es gibt Probleme mit den Foren seit dem letzten Major Update so vor zwei Wochen.Das Delay Problem durch die Bridge wird u. a. hier diskutiert: http://social.microsoft.com/Forums/en-US/reportabug/thread/7b9a848d-6d5a-469b-aba8-4689d1da8347/#975dd668-cc9a-4f8a-a3a3-e16375545eda …es gibt ein Beitrag hier von Ed Price – MSFT von gestern: „I submitted it as a bug.“
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
http://www.insidesql.org/blogs/cmu/