digga_mies Geschrieben 15. Juli 2010 Teilen Geschrieben 15. Juli 2010 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. Mit sommerlichen Grüßen aus Hessen Digga_Mies Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 15. Juli 2010 Teilen Geschrieben 15. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
digga_mies Geschrieben 15. Juli 2010 Autor Teilen Geschrieben 15. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 15. Juli 2010 Teilen Geschrieben 15. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
digga_mies Geschrieben 16. Juli 2010 Autor Teilen Geschrieben 16. Juli 2010 (bearbeitet) 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 16. Juli 2010 von digga_mies Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
digga_mies Geschrieben 16. Juli 2010 Autor Teilen Geschrieben 16. Juli 2010 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 16. Juli 2010 Teilen Geschrieben 16. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
digga_mies Geschrieben 16. Juli 2010 Autor Teilen Geschrieben 16. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
digga_mies Geschrieben 19. Juli 2010 Autor Teilen Geschrieben 19. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 20. Juli 2010 Teilen Geschrieben 20. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
digga_mies Geschrieben 20. Juli 2010 Autor Teilen Geschrieben 20. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
digga_mies Geschrieben 22. Juli 2010 Autor Teilen Geschrieben 22. Juli 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.