Zum Inhalt springen

SQL Server 2008 - Reporting Services


digga_mies

Empfohlene Beiträge

Hallo liebe Gemeinde,

ich wollte mal nachfragen, ob sich bei uns hier jemand mit den Reporting Services von Microsoft auskennt, die bei der Installation von SQL Server 2008 beigefügt sind. Ich habe nämlich momentan viel damit zu tun und wenn jemand davon Ahnung hat, wäre mir sehr geholfen.

Meine erste Frage ist zum Beispiel: Wie werden die Reports auf dem Reportserver abgespeichert? Sind die Daten dann in der Datenbank, wenn ja in welcher und wie komm ich an die Daten ran? Wie komm ich an die Daten der Snapshots, die ich erstellt habe?

Das wären meine ersten Verständnisfragen, die mich dann zu weiteren führen, da bin ich mir sicher.:P

Mit sommerlichen Grüßen aus Hessen

Digga_Mies

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Ich arbeite seit mehreren Jahren mit den Reporting Services und hoffe Dir dort etwas weiter helfen zu können.

Zu Deinen Fragen:

Meine erste Frage ist zum Beispiel: Wie werden die Reports auf dem Reportserver abgespeichert? Sind die Daten dann in der Datenbank, wenn ja in welcher und wie komm ich an die Daten ran?

Die Reports werden tatsächlich in der DB gespeichert und zwar in der ReportServer$[instanzname].

Das schöne daran ist aber, es kann Dir völlig egal sein wo sie liegen, weil Du "nie" direkt auf die DB zugreifen musst :-)

Im Verzeichnis Programme --> Microsoft SQL Server 2008 --> Konfigurationstools --> Konfiguartionsmanager für Reporting Services

findest Du alles was du benötigst um Einstellungen vorzunehmen oder vorhandene auszulesen.

Was hier interessant ist, ist die Webdienst- und die Berichts Manager URL.

Über die Berichtsmanager URL gelangst Du in ein Verwaltungstool für Datenquellen, Berichte, Benutzer, Gruppen etc.

Hier werden dir alle Berichte unter einer eventuell vorhandenen Ordnerstruktur angezeigt.

Du kannst die Ordner dann anklicken und bekommst vorhandene Berichte angezeigt. Im rechten Bereich der Webanwendung gibt es noch die Option "Details einblenden" womit sich Deine Möglichkeiten etwas erweitern.

Du kannst auch Berichte herunterladen bearbeiten und wieder hochladen (aktualisieren).Berichte (Reports) sind reine XML-Dateien (.rdl = Report Definition Language).

Wie Du siehst erfolgt kein direkter DB-Zugriff.

Wenn Du selbst ein neues Projekt mit Berichten erstellst, kannst Du dieses aus Visual Studio (Business Intelligence Development Studio) heraus veröffentlichen.

Nutzer Deiner Berichte können diese dann im Internet Explorer einfach über eine URL aufrufen.

Falls Ihr einen "großen" SQL Server besitzt (z.B. Enterprise Edition etc.) so kann man dies alles auch aus dem SQL Server Management Studio heraus erledigen. Man verbindet sich anstatt mit dem Datenbankmodul einfach mit den Reporting Services.

Hoffe das hilft Dir etwas weiter!

Viele Grüße

Thomas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank schon mal für die Infos.

Ich muss sagen, soweit bin ich schon. Ich hätte vllt mal erwähnen sollen, was ich schon weiß. :upps

Mit den Grundlagen zum SSRS kenne ich mich schon aus. Den Berichtsmanager mit Subscriptions und anderem kenne ich auch bereits. Ich versuche momentan das ganze so gut wie möglich auf die Anforderungen vom Unternehmen anzupassen. Wir wollen hauptsächlich Reports aus dem SCCM damit fahren, falls dir das was sagt.

Zurück zur Frage: Ich wollte gerne wissen ob ich irgendwie an die Daten aus den gespeicherten Feldern der Snapshots dran komme, um sie in einem anderen Report zu verwenden. Eventuell als eine Verlaufsanalyse oder sowas in der Art.

Wir hatten außerdem einen SQL Server 2005 RS aktiv, wollten aber gerne die Reports von dort rüberschaufeln zu dem neueren SS 2008. Haben aber die Projektdateien nicht mehr zur Verfügung. Kann man die XMLs, die man aus dem Berichtsmanager exportieren kann irgendwie in den neueren Server importieren?

Grüße

Digga_Mies

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ja gut dann hätte ich mir das alles sparen können :)

Zum Thema Snapshot und SSRS kann ich Dir im Moment leider nichts sagen, da ich diesen Fall noch nicht hatte. Aber kann mich da bei Kollegen mal etwas schlau machen.

Migration von Berichten:

Kann man die Berichte verschieben/kopieren?

Es kommt darauf an...

Erstmal wie gesagt reines XML von daher keine Versionsprobleme. Die Dateien (Berichtsdefinition.rdl) kannst Du ja herunterladen. Und ebenso kannst Du im neuen Server diese Dateien auch wieder hochladen.

In den Eigenschaften des Berichts siehst Du auf der linken Seite auch einen Abschnitt Datenquelle, hier kannst Du entweder per Hand eine Verbindung eingeben oder eine bereits freigegebene auswählen.

Eigentlich sollte dies kein Problem sein, zumindest hat es bei mir bisher IMMER geklappt. Aber ich habe auch schon von Leuten gehört bei denen es nicht funktioniert haben soll.

Die Berechtigungen musst Du natürlich neu festlegen, da diese nicht im Bericht sondern eben in der DB gespeichert werden.

Viele Grüße,

Thomas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Guten Morgen,

ich verstehe nicht ganz was du mit herunterladen meinst. Ich kann die Daten als XML exportieren, das ist richtig. Meinst du diese Funktion? Weil ich kann ja damit keine *.rdl exportieren, oder etwa doch?

Ich habe auch schon gelesen, das es möglich sein soll, die 2005er *.rdl-Dateien ohne Probleme zu portieren, nur anders herum gibt es wohl große Probleme, bzw. das es einfach nicht geht wegen der Tablix Erweiterung und anderen Verbesserungen die *** an den Reporting Services und der rdl-Definition gemacht hat.

Ahh, Frage hab ich selber beantwortet:

Es geht mit dem Berichts-Generator und dann 'Save As File...'. Das erspart mir natürlich die Grundanlage der älteren Reports, trotzdem werde ich sie auffrischen ;)

Grüße,

Robert

Bearbeitet von digga_mies
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte entschuldigt den Doppelpost, konnte aber an meinem Beitrag iwie nichts mehr ändern, vllt weil ich schon eine Änderung gemacht habe?!?!

Also, den Report als *.rdl zu speichern hat wunderbar geklappt. Das Dumme ist nur, das er mit dem hässlichen Berichtsgenerator erstellt worden ist und sich somit auf ein Model bezieht. Klar, man kann jetzt das Model und die verwendete Source mit auf den Server schieben, aber dann sind Änderungen auch nur mit dem Berichtsgenerator möglich.

Weil wenn ich das ganze jetzt im BIDS ändern möchte, dann bekomm ich nur Errors angezeigt, die sich auf die Felder beziehen, die er ja mit dem Berichtsgenerator erstellt hat.

Kannst du mir in dem Falle sagen, was genau diese #V_NameEinerTabelle bedeutet? Dieses Feld scheint im Berichtsgenerator ein speziell automatisch angelegtes Feld zu sein, das mehrere Dinge zusammenfasst und dann als 1 oder 0 ausgibt. Screenshot sollte erklären was ich meine.

post-70998-14430448752768_thumb.jpg

post-70998-14430448753121_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

mit dem Berichtsgenerator... hmmm.

Ja wie Du schon sagtest bezieht sich der ganze Bericht und seine Felder nun eben auf ein bereitgestelltes Berichtsservermodell.

Was Du tun kannst ist natürlich die Datenquellen im BIDS anzupassen und Felder die sich auf Daten aus dem Modell beziehen so zu ändern, dass sie Daten direkt aus den Datenquellen abrufen.

Die zweite Möglichkeit ist natürlich das Berichtsservermodellprojekt auf dem neuen Server zu veröffentlichen. Vorausgesetzt natürlich ihr habt dafür wenigstens die Projektdateien.

Ich arbeite garnicht mit Modellen weil es aus meiner Erfahrung heraus die meisten Nutzer eh überfordert diese Berichte selbst zu erstellen.

Viele Grüße,

Thomas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi ;)

Ja, wir hatten die Projektdateien noch. Ich habe jetzt also erstmal die Modelle mit rübergeschoben, nicht schön, aber es geht erstmal. Wir wollen eigentlich auch keine Modelle bereit stellen, damit die Nutzer selber Reports erstellen können. Überforderung ist da einer der Gründe, aber auch in der jetzigen Umgebung in der wir es einsetzen wollen, nicht nötig ist.

Zu den Modellen auf den SSRS 2005 ist es nur gekommen, weil wir die Reporting Services gerade erst einführen und keiner wirklich einen Plan hatte, was er damit machen kann. Deshalb wurden erstmal Models erstellt und dann daraus Berichte generiert.

Aber ich denke im Endeffekt geht es schneller, den Bericht dann doch nachzubauen und selber an der Geschichte zu arbeiten, da ich damit auch von Grund auf aus meiner normalen Datasource heraus arbeite.

Gruß,

Robert

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallöle!

Dummerweise schon wieder ein Doppelpost, aber da kann man wohl nix machen :upps

Ich wollte mal nachfragen, ob du schon mal mit den Transact-SQL Befehlen gearbeitet hast? Ich hab momentan eine Chart von der aus auf eine Tabelle verwiesen wird und dann nur die Rechner anzeigen soll, die einen bestimmten Parameter haben. Der Parameter wird vom Chart mit dem Link übergeben und dann als Filter innerhalb der Tabelle genutzt. Nun hab ich aber den Fall, das es einmal keinen Eintrag gibt. Ca 20 Maschinen sind davon betroffen. Die möchte ich aber auch angezeigt bekommen. Nur der Parameter darf nich leer sein -.- Hatte versucht das ganze mit T-SQL und einer IF-Abfrage zu gestalten, aber das hat nicht so wirklich geklappt. Eine Idee?

Grüße,

Robert

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

was ist den das Problem mit dem SQL Statement? Poste es doch mal. Am besten mit etwas Beschreibungstext dazu.

Ich kann noch nicht so ganz das Ziel durchblicken. Der Link (woher er auch immer kommt) tut was?

Du kannst als Datenquelle in den Reporting Services auch eine Stored Procedure benutzen. So hättest du mehr Komfort und andere Vorteile.

Falls Du einen bestimmten Wert in einem Feld stehen haben möchtest was eigentlich NULL ist könntest Du es so machen:


SELECT ISNULL(vorname, "-unbekannt-") As Vorname, nachname FROM dbo.Person

So würde bei allen Personen bei denen der Vorname "NULL" ist, in der Ausgabe "-unbekannt-" im Feld Vorname erscheinen.

So könntest Du fehlende Werte (NULL) auf einen bestimmten Wert umschreiben (natürlich nur für Deine Ausgabe).

Gruß,

Thomas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ich war anscheinend mal wieder zu schnell und zu voreilig. Mittlerweile kann ich mit den IF Abfragen umgehen und so klappt meine Abfrage auch. Ich poste hier mal meine Abfrage:


IF @country = 'all' AND @site = 'all'

	SELECT        ClientCountry00, ClientVirgoVersion00, ClientHostname00, ClientADLocation00

	FROM            v_B__Braun_Client_Infor_data

	ORDER BY ClientCountry00, ClientVirgoVersion00, ClientADLocation00, ClientHostname00

ELSE

IF NOT(@country = 'all') AND NOT(@country = 'Null') AND @site = 'all'

	SELECT        ClientCountry00, ClientVirgoVersion00, ClientHostname00, ClientADLocation00

	FROM            v_B__Braun_Client_Infor_data

	WHERE (ClientCountry00 = @country)

	ORDER BY ClientCountry00, ClientVirgoVersion00, ClientADLocation00, ClientHostname00

ELSE

IF NOT(@country = 'all') AND @country = 'Null' AND @site = 'all'

	SELECT        ClientCountry00, ClientVirgoVersion00, ClientHostname00, ClientADLocation00

	FROM            v_B__Braun_Client_Infor_data

	WHERE (ClientCountry00 IS NULL)

	ORDER BY ClientCountry00, ClientVirgoVersion00, ClientADLocation00, ClientHostname00

ELSE

	SELECT        ClientCountry00, ClientVirgoVersion00, ClientHostname00, ClientADLocation00

	FROM            v_B__Braun_Client_Infor_data

	WHERE (ClientADLocation00 = @site)

	ORDER BY ClientCountry00, ClientVirgoVersion00, ClientADLocation00, ClientHostname00
Solange country und site all sind, werden alle rechner in allen ländern und allen sites angezeigt. Sollte man allerdings in der Tabelle auf ein Land klicken, welches als Link definiert ist, kommt man auf eine Matrix mit nur diesem Land und den dazugehörigen Sites. In diesem Falle wäre dann zum Beispiel country = Germany und site = all. Nun gab es allerdings bei mir das Problem, das ich Felder hatte die leer waren, die aber trotzdem verlinkt werden sollten und da habe ich eine ähnliche Expression angelegt wie du sie auch beschrieben hast, Thomas. Siehe hier:
=IIF(Fields!ClientCountry00.Value = "", "Null", Fields!ClientCountry00.Value)
Sollte man allerdings ein Feld mit Null anwählen, habe ich eine Expression in der Action definiert:
=IIF(Fields!ClientCountry00.Value = "", "Null", Fields!ClientCountry00.Value)

Sollte also der Feldwert leer sein, wird Null in den Parameter geschrieben und übergeben, ansonsten eben der jeweilige Wert.

Sollte Null nun bei der IF-Abfrage ankommen, dann werden alle Werte ausgegeben bei denen das Feld ClientCountry00 leer ist.

Ich werde das jetzt auch noch für die Sites machen. Denn leider dümpeln in der Datenbank auch Clients ohne Site und sogar ohne Computernamen herum.

Ich hoffe es stört keinen, das ich hier so Rieseneinträge mache, aber ich denke mal, es könnte auch nachfolgenden Leuten helfen, die sich mal damit beschäftigen möchten/müssen/dürfen. :floet:

Grüße,

Robert

Link zu diesem Kommentar
Auf anderen Seiten teilen

Doppelpost >.< Sorry...

Hi,

ich will nicht sagen, das ich vor einem neuen Problem steht, aber es geht um die Geschichte mit der Migration. Auf dem SCCM DB Server sind Reports in einem View v_Reports gespeichert. Dort kann man sich alle Details zu den Reports raussuchen, die man braucht, unter anderem auch die SQL Query. Hat jemand eine Ahnung, wo solche Dinge auf dem Report Server gespeichert werden?? Vielleicht könnte man dann direkt etwas einfügen.

Ich hatte ja mit .NETter schon geschrieben, das man die Reports ja auch downloaden könnte. Leider kannte ich nur den umständlichen Weg mit dem Report Builder. Dieser Weg funktioniert auch gut mit Reports, die von einem Report Model abhängig sind, ABER wenn man einen Report mit dem Report Builder öffnen möchte, der per Hand erstellt wurde, bekommt man nur eine Fehlermeldung und das war's. Hat jemand eine Idee, wie ich sonst die Reports vom "Reportserver" runterladen kann?

Um das ganze Szenario mal zu erläutern:

Auf dem SCCM liegen Standard Reports, die man auf einen Reportserver übertragen kann, wenn man möchte. Diese liegen aber momentan auf dem "alten" 2005er Reportserver. Ich hätte gerne diese Reports auf dem neuen Server. Vielleicht gibt es auch einen einfacheren Weg, vielleicht sogar über das SCCM, was ich eigentlich auch glaube. Da ich mir da allerdings nicht ganz sicher bin und auch nicht einfach ein paar Einstellungen machen kann, wollte ich es auf diesem Weg versuchen.

Viele Grüße,

Robert

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...