Tag Archives: Report

Jet Reports verbindet Dynamics-NAV (Navision) mit Excel. Es können aber auch andere Datenbanken mit Jet Reports ausgewertet werden. Dieser Blog bietet Tipps, Beispiele und Neuerungen zu dem beliebten Reporting-Tool. Sie kennen Jet Reports noch nicht? Auf unseren Webseiten finden Sie Produktinformationen.

Jet Enterprise macht auch Jet Essentials besser

Mit dem Einsatz von Jet Reports Enterprise werden viele Jet Essentials Berichte…

  • beschleunigt.
  • einfacher zu erstellen.
  • leichter zu pflegen.
  • ein vergleichbares Ergebnis liefern.

Warum das so ist, das möchte ich im folgenden erklären:

Eine der wichtigsten Aufgaben von Jet Enterprise ist das Bereitstellen einer optimalen Datenablage für Auswertungen. Ein ERP System wie z.B. Dynamics NAV (Navision) ist nämlich immer für die Eingabe optimiert. Daher gibt es in einem ERP-System meist enorm viele Tabellen. Für Auswertungen ist es aber viel praktischer, wenn nur wenige Tabellen mit den wesentlichen Inhalten bereitstehen.

Das Data-Warehouse
In einem Business Intelligence (BI) Projekt findet man oft eine separate Datenbank, in der Daten für die Auswertung bereit gestellt werden. Jet Enterprise verwendet auch hier den Microsoft SQL-Server. Aus dem Quellsystem  (Z.B. Dynamics NAV) werden einzelne Tabellen ausgelesen. Auf dem Weg in die Data-Warehouse Tabellen werden die Daten bereinigt, ergänzt, optimiert und zusammengefügt. Als Ergebnis finden sich Tabellen, die für die Auswertung perfekt geeignet sind.

Jet Essentials und das Data-Warehouse
Mit Jet Enterprise bekommt man automatisch auch das Recht die Data-Warehouse Tabellen mit den bekannten Jet Essentials Befehlen (NL und NF) auszulesen. Nachfolgend bringe ich ein paar Beispiele dafür vor:

Im Dynamics NAV gibt es sogenannte Posten-Tabellen. In diesen Tabellen werden Buchungssätze gespeichert. Die Tabelle Wertposten beinhaltet die Betragsbuchungen für Artikel. Diese Tabelle möchte ich für die Beispiele verwenden.

  • Fehlende Daten ergänzen
    In der Tabelle Wertposten gibt es ein Buchungsdatum (Wann wurde die Buchung durchgeführt). Es fehlt aber das Belegdatum (Ab wann wird die Fälligkeit berechnet). Dieser Wert steht bei Dynamics NAV nur in den Tabellen für bereits gebuchte Belege (Gebuchte Rechnung, Gebuchte Gutschrift, usw.). Mit einem Business Intelligence Werkzeug wie Jet Enterprise kann man die Data-Warehouse Daten beim Füllen mit weiteren Daten aus anderen Tabellen anreichern. In der Data-Warehouse Tabelle für die Artikel-Betragsbuchungen (Z.B. Gebuchte Verkaufstransaktionen) sind nun sowohl das Buchungsdatum als auch das Belegdatum zur Auswertung verfügbar. Es braucht nur im NL-Befehl darauf gefiltert werden. Das macht ein Jet Essentials Auswertung deutlich übersichtlicher und viel schneller, da die langsamen Jet Essentials Befehle Link und Filter nicht gebraucht werden.
  • Tabellen zusammenfügen
    In der Tabelle Wertposten werden nur Betragsbuchungen für Artikel gespeichert. Im ERP-Dynamics NAV gibt es noch weitere Positionsarten (Ressourcen, Sachbuchungen, Anlagen, …) die Beträge aufweisen können. Deren Buchungen werden in weiteren Tabellen gespeichert (Gebuchte Verkaufsrechnung, Gebuchte Verkaufsgutschriften,…). Mit einem Business Intelligence Werkzeug wie Jet Enterprise kann man eine Data-Warehouse Tabelle (Z.B. Gebuchte Verkaufstransaktionen) aus verschiedenen Quellen füllen (Wertposten, Geb. Verkaufsrechung, Geb. Verkaufsgutschrift, …). Die verschiedenen Daten können im NL-Befehl summiert werden. Das macht eine Jet Essentials Auswertung übersichtlicher und schneller, weil nur ein NL-Befehl für mehrere Tabellen erforderlich ist.
  • Nur Benötigte Felder und Tabellen verwenden
    In einer Quelldatenbank wie Dynamics NAV gibt es sehr viele Tabellen und Felder. Der Großteil davon ist für Auswertungen gar nicht relevant. Mit einem Business Intelligence Werkzeug wie Jet Enterprise kann man explizit auswählen welche Tabellen und Felder dem Auswertenden zur Verfügung gestellt werden. Es ist auch einfach möglich die Tabellen und Felder einen verständlicheren Namen zu geben. Im Dynamics NAV gibt es in der Tabelle Wertposten z.B.  Felder für den Wert des ursprünglichen Einkaufsbetrages [Einkaufsbetrag] und dem Lagerwertanteil [Einstandsbetrag]. Die Felder sind dann auch noch in tatsächlich (Kosten bereits gebucht) und erwartet (Kosten nur erfasst) aufgeteilt. Nicht jeder Designer eines Jet Essentials Berichtes kennt die Unterschiede. Das führt schnell zu falschen Auswertungen. Wenn Sie nur die Summe der beiden Einstandsbeträge als Feld im Data-Warehouse anbietet, dann kann ein Jet Essentials Designer gar kein falsches Feld mehr verwenden. Es sind auch keine Excel-Hilfsspalten zur Addition erfoderlich. Das mach eine Auswertung übersichtlicher und schneller. Ähnliche Berichte werden zu dem ein vergleichbares Ergebnis liefern.

Fazit
Ein Data-Warehouse beschleunigt und vereinfacht Jet Essentials erheblich. Berichte anderer Jet Essentials Designer werden vergleichbar, weil nur bereitgestellte Formeln und Felder verwendet werden können. Das Zusammenstellen der Data-Warehouse Tabellen ist das Intelligence aus Business Intelligence. Das Erstellen der eigentlichen Auswertungen ist danach recht simpel. 

Andreas Koblischke
datenkultur GmbH

Unterschiede der Editionen – Enterprise

Jet Reports Express ist seit der NAV 2009 Version Bestandteil der Produktlizenz von Dynamics-NAV. Wir sind oft gefragt worden was die Kauf-Versionen von Jet Reports mehr leisten können als die Express Version. In diesem Blog-Post möchte ich die Unterschiede zur Enterprise Version erklären.

Der Funktionsumfang der Editionen baut aufeinander auf. Die Essentials-Version beinhaltet auch alle Funktionen der Express-Version. Entsprechend beinhaltet die Enterprise-Version auch alle Funktionen der beiden kleineren Editionen.

Jet Reports Enterprise
Diese Version der Jet Reports Produktreihe beinhaltet alle Funktionen der Essentials-Version. Nachfolgend werden nur die zusätzlichen Funktionen beschrieben.

Die Enterprise Version ist etwas ganz anderes, als die beiden kleineren Editionen. Während Express und Essentials Daten visualisieren stellt die Enterprise Version Daten zur Visualisierung bereit.

Business Intelligence (BI)
Wikipedia legt den BI-Begriff recht weit aus. Ich beschränke mich auf die wesentlichen Komponenten für das Auswerten eines ERP Systems wie Dynamics NAV (Früher bekannt als Navision). Ein ERP System ist für die zügige Eingabe von Daten optimiert. Ein BI-System fügt unstrukturierte Daten zusammen, bereinigt die Daten und berechnet die Zwischenergebnisse für einfache und schnelle Auswertungen.

Der ETL-Prozess
Die Daten werden zeitgesteuert aus einem oder mehreren Quellsystemen ausgelesen. Das geschieht in drei Schritten: (E)extrahieren, (T)ransformieren und (L)aden. Die meisten Business Intelligence Systeme verwenden eine eigene Datenbank.

Daten aus den Quellen auslesen (Extrahieren)
Jet Enterprise setzt auf den Microsoft SQL-Server, den die meisten Dynamics-NAV Kunden ohnehin bereits haben. Die Daten werden aus dem Navision ausgelesen und in die Datenbank für die Rohdaten (Staging Area) eingelesen.

Daten bereinigen (Transformieren)
Daten in einem ERP-System sind oft unvollständig. Ein typisches Beispiel dafür sind neu eingeführt Dimensionen. Ältere Buchungen konnten noch nicht mit den neueren Dimensionswerten erstellt werden. Beim Einlesen der Daten in die Staging Area können Daten ergänzt oder korrigiert werden. Bei dem Beispiel könnten man z.B. für ältere Werte die Vorgaben vom Debitor übernehmen. Das ist zwar nicht immer perfekt, aber oft viel besser als gar keine Zuordnung.

Daten strukturieren (Laden)
In Postentabellen (Buchungen) werden nur eindeutige Schlüsselwerte auf die Stammdaten eingetragen (Platz in der Datenbank sparen). Für Auswertungen ist es viel besser zusammengehörige Daten in einer einzigen Tabelle zu kombinieren. Für diese Funktion benutzt Jet Reports Enterprise noch eine zweite Datenbank, die Data Warehouse (DWH) genannt wird. Die kombinierten Tabellen des Data Warehouse werden definiert und aus den bereits bereinigten Daten der Staging Area gefüllt.

Beispiele für das Strukturieren von Daten sind

  • Mehrere Tabellen mit vergleichbarem Inhalt
    Im Dynamics-NAV sind die gebuchten Verkaufsrechnungen und die gebuchten Verkaufsgutschriften in zwei verschiedenen Tabellen. Im Data Warehouse kann man die beiden Tabellen in eine Tabelle zusammenführen. Zusätzlich braucht man den Datensätzen nur einen Typ mit geben (Rechnung, Gutschrift), an dem man die Daten in der gemeinsamen Tabelle unterscheiden kann.
  • Fehlende Daten in einer Postentabelle
    Im Dynamics-NAV sind z.B. in den Artikelposten (Lagerbewegungen) die Orte des Debitors nicht enthalten. Beim Füllen des Data Warehouse kann man jeden Satz automatisch um den Ort aus dem Debitor ergänzen. Das geht auch über mehrere Tabellen.

Erstellen des ETL-Prozesses
Das Erstellen von ETL-Prozessen ist auf dem Microsoft SQL-Server fast eine Raketenwissenschaft. Es ist ganz anders, als man es selbst als erfahrener Entwickler mit SQL gewohnt ist. Mit Jet Enterprise ist aber zum Glück gar nicht nötig den Analysis-Service und den Integration-Service persönlich zu kennen. Das nimmt einem der Jet Data Manager ab. Alle Prozesse vom Konfigurieren der Datenquelle über das Erstellen zusätzlicher Felder bis zum Anlegen eines OLAP Würfels können per Drag & Drop erstellt werden. Auch das zeitgesteuerte Füllen und Berechnen der Daten wird über den Jet Data Manager ausgeführt. Wer ein wenig Erfahrungen mit Tabellen und ERP-Systemen hat, der lernt die Handhabung innerhalb von 2 Tagen.

Visualisieren des Data Warehouse
Auf den bereinigten und strukturierten Daten des Data Warehouse kann man Daten recht einfach auswerten. Da die Enterprise Version auch die komplette Jet Reports Essentials Version beinhaltet kann man die bereitgestellten Daten ohne viel Mühe zu ansehnlichen Berichten zusammenstellen. Das entlastet auch die IT-Abteilung. Man muss die komplexe Tabellenstruktur ja nur einmal bereitstellen. Die erforderlichen Berichte können sich die Endanwender jederzeit selbst erstellen.

Wer bereits mit Jet Reports Essentials arbeitet, der kann auf diesem Weg seine komplexeren Berichte evtl. erheblich beschleunigen. Statt viele langsame Filterfunktionen oder gar viele unnötige Daten nach Excel zu laden kann man mit Jet Reports Essentials direkt auf das Data Warehouse zugreifen. So kann auch ein Jet Reports Anfänger selbständig professionelle Berichte erstellen.

Multidimensionale Auswertungen
Das Data Warehouse ist auch Grundlage für das Bilden von multidimensionalen Würfeln (Cubes). Ein Cube ist wie das Data Warehouse einer separaten Datenbank ähnlich. Die Daten werden nur anders im Datenbank-Server abgelegt. Auch über Cubes und OLAP (Online Analytical Processing) lässt sich bei Wikipedia einiges nachlesen. Einfach gesprochen können Filterkriterien (Dimensionen)  und Ergebniswerte (Measures) definiert werden. Für alle Kombinationen werden die Zwischenergebnisse berechnet.

Als Beispiel mag die Finanzbuchhaltung von Dynamics-NAV dienen: Das Feld Betrag in den Sachposten ist ein Ergebniswert (Measure). Das Buchungsdatum und die Sachkontonummer sind Filterkriterien (Dimensionen). In einem Cube werden nun alle Kombinationen aus den Werten der beiden Dimensionen vorberechnet abgelegt. Die Frage welchen Betrag ich auf welchem Konto habe oder was im Januar auf die Erlöskonten gebucht wurde liefert das System innerhalb von Millisekunden. Die Berechnung hat ja schon beim ETL-Prozess stattgefunden.

Visualisieren der multidimensionalen Würfel
Erstes Mittel der Wahl sind bei Cubes aus dem Microsoft SQL-Server immer die Pivot-Tabellen von Excel. Es ist nämlich mit nur wenigen Mausklicks möglich eine Excel-Pivot-Tabelle direkt aus einem Cube zu erstellen. Man hat dann praktisch alle relevanten Daten aus dem ERP-System per Drag and Drop zur Verfügung. Damit kann jeder auswerten. Das ist so einfach, dass auch die Chefetage und der Vertrieb damit locker zurecht kommen. Es ist dabei auch noch rappelschnell.

Die Würfel können aber auch mit den Funktionen von Jet Essentials verwendet werden. So kann ich jedes Design in Excel mit Daten füllen und trotzdem die Power von OLAP nutzen.

Unterschiedliche Datenquellen
Mit Jet Enterprise können unterschiedliche Datenquellen zusammengeführt werden. Es läuft mit allen Datenquellen zusammen, die einen Zugriff auf die Datenbank per ODBC oder OLEDB zulassen. Jet Enterprise ist damit nicht allein auf Dynamics-NAV zugeschnitten. Man kann es beispielsweise auch mit SAP, Oracle oder Sage verwenden. Es gibt für Dynamics-NAV aber eine besonders optimierte Datenbank-Verbindung. Zu dem steht für Dynamics-NAV ein vordefiniertes Set an Cubes bereit, das im Lieferumfang enthalten ist und selbständig an die eigenen Bedürfnisse angepasst werden kann. Besondere Datenbank-Verbindungen mit Cube Sets gibt es auch für Dynamics-AX und Great Plains.

Nachteile von Jet Enterprise
Die Daten werden in regelmäßigen Zyklen aus den Quellsystemen durch den ETL-Prozess in die Auswertungsdatenbanken geladen. Die Daten sind daher so gut wie nie ganz vollständig, wenn man eine Auswertung laufen lässt. Für die meisten Auswertung reichen die Daten des Vortages. Für einen Bericht, der absolut aktuell die Daten aus dem ERP System darstellen muss, sind die OLAP Funktionen von Jet Reports Enterprise eine schlechte Wahl. Wie gut, dass auch alle Funktionen von Jet Essentials in dem System enthalten sind. Denn Auswerten auf den Ursprungsdaten ist gerade die Stärke von Jet Essentials.

Fazit
Gemeinsam sind wir noch stärker. Jet Essentials ist schon eine Macht. Zusammen mit Jet Enterprise ist es aber kaum zu schlagen. Ich kann nur empfehlen es sich mal anzuschauen. In unserer Jet Enterprise Broschüre finden Sie noch weitere Informationen.

Andreas Koblischke
www.datenkultur.de

Unterschiede der Editionen – Essentials

Jet Reports Express ist seit der NAV 2009 Version Bestandteil der Produktlizenz von Dynamics-NAV. Wir sind oft gefragt worden was die Kauf-Version Jet Reports Essentials mehr leisten kann als die Express Version. In diesem Blog-Post möchte ich die Unterschiede erklären.

Der Funktionsumfang der Editionen baut aufeinander auf. Die Essentials-Version beinhaltet auch alle Funktionen der Express-Version. Entsprechend beinhaltet die Enterprise-Version auch alle Funktionen der beiden kleineren Editionen. Um die Unterschiede zu erklären beschreibe ich jeweils die zusätzlichen Funktionen der jeweiligen Version.

Jet Reports Essentials
Diese Version der Jet Reports Produktreihe beinhaltet alle Funktionen der kleineren Express-Version. Nachfolgend werden nur die zusätzlichen Funktionen beschrieben.

NL-Funktion
Mit diesem zusätzlichen Excel-Befehl können aus jedem Bereich Ihres Navisions (oder aus Ihrer ODBC-Datenbank) Werte ermittelt werden. Als Parameter geben Sie an aus welcher Tabelle die Daten kommen, welches Feld betrachtet werden soll und auf welche Datensätze gefiltert werden soll. Ein weiterer Parameter bestimmt was der Befehl aus geben soll.

Für eine einzige Excel-Zelle kennt der NL-Befehl folgende Funktionen:

  • Die Ausgabe eines gefunden Wertes (Z.B den Namen des Artikels mit der Nummer AO999)
  • Die Summe von Zahlen (Z.B. der Vorjahresumsatz der Artikel aus der Gruppe Maschinen)
  • Die Anzahl von Datensätzen (Z.B die Anzahl der freigegeben Aufträge für den Januar)
  • Die Anzahl unterschiedlicher Datensätze (Z.B die Anzahl der verkauften Artikelgruppen in KW3)
  • Ein Bild aus der Datenbank (Z.B. Das Bild des Artikels AO999)
  • Die Bezeichnung einer Tabelle oder eines Feldes in der aktuellen Sprache (Z.B. für multilinguale Auswertungen)

Der Befehl kennt auch Funktionen mit denen mehr als eine Excelzelle gefüllt werden kann:

  • Die Auflistung von Werten in Excel-Zeilen (Z.B. eine Liste der offenen Einkaufsbestellnummern)
  • Die Auflistung von Werten in Excel-Spalten (Z.B. die angesprochenen Kostenträger des Monats)
  • Die Auflistung von Werten auf Excel-Blättern (Z.B. die Debitornummer der letzten Verkäufe)

Zusätzlich kann der Befehl auch zum erweiterten Filtern über mehr als eine Tabelle verwendet werden.

Alle diese Befehle kann man wunderbar kombinieren. Im Post Replikatoren: Zeilen, Spalten, Blätter im Abschnitt “Replikatoren verwenden” steht beschrieben, wie man mit vier einfachen NL Befehlen bereits einen netten Bericht erstellen kann. Für die Erstellung des Berichtes habe ich nicht mal zwei Minuten gebraucht.

Optional kann jedem NL-Befehl mitgegeben aus welcher Datenbank er lesen soll und/oder aus welchem Mandant die Daten gelesen werden sollen. Damit kann man z.B. Mandanten auf einem Excel-Blatt konsolidieren oder die Navision Datenbank mit einer externen Zeiterfassungssoftware gemeinsam auswerten.

NF-Funktion
Mit der NF Funktion kann man mehrere Felder eines Datensatzes mit nur einem Datenbankzugriff ermitteln. Die Funktion bietet auch Flowfilter Felder für Flowfields in Dynamics NAV.

NP-Funktion
Dieser Befehl liefert Hilfs- und Mengenfunktionen sowie Auflistungen für das Erstellen von Berichten mit Jet Reports.

  • Es gibt eine Funktion zu Beschleunigung bei volatilen Funktionen wie z.B. =heute()
  • Man kann aus zwei Datumswerten einen Navision Filter erstellen 1.1.12..31.12.12
  • VBA übliche Formatierungen können in Excel Zellen verwendet werden
  • Das Ergebnis einer Codeunit kann via Webservice abgerufen werden
  • Für multilinguale Auswertungen kann der gewählte Sprachcode des aktuellen Excelbenutzers ausgelesen werden

Man kann sich die Grundlage der Mengenfunktionen wie temporäre, interne Tabellen vorstellen. Folgende Mengenoperation können mit dem Befehl bearbeitet werden:

  • Es können mehrere Ergebniswerte mittelsTrennzeichen zusammengesetzt werden. Man kann damit z.B. Navision-Filter wie 1000|2000|3000 erstellen.
  • Texte können anhand eines Trennzeichens in Einzelwerte aufgeteilt werden. Eine Anwendung wäre zum Beispiel Semikolon separierte Werte in Einzelwerte aufzulösen.
  • Es können Mengen vereinigt werden. Eine klassische Anwendung dafür ist das Zusammenfügen von Schlüsselwerten aus verschiedenen Tabellen wie z.B. die Belegnummer aus gebuchten Rechnungen und gebuchten Gutschriften.
  • Schnittmengen können erstellt werden. Das ist z.B. nützlich, wenn man ermitteln möchte welche Debitoren sowohl in diesem als auch im letzen Jahr etwas gekauft haben.
  • Differenzenmengen können erstellt werden. Mit dieser Funktion kann man z.B. ermitteln welche Artikel nur in einem der beiden vergangenen Monate gekauft wurden.

Folgende Auflistungen liefert der Befehl

  • Eine filterbare Liste von Ganzzahlen ohne Datenbankzugriff
  • Eine filterbare Liste von Datumsbereichen ohne Datenbankzugriff
  • Eine filterbare Liste der Mandanten
  • Eine Liste der eingerichteten Jet Reports – Datenquellen

Tablebuilder
Der Tablebuilder ist bietet folgende zusätzliche Funktionen:

  • Es können auf Basis der Datenfelder individuelle Berechnungsfelder erstellt werden
  • Die Tablebuilder Konfiguration kann gespeichert und geladen werden
  • Die Favoriten für Felder und Tabellen können verwendet werden

Steuerbefehle
Es gibt einige Steuerbefehle, die Jet Reports Ausgaben automatisch optimieren.

  • Berichte können mit Optionen wie z.B. einen Zeitraum oder die Debitorennummer versehen werden. Der Benutzer des Berichtes kann dadurch Parameter eingeben, ohne den Bericht genauer zu kennen.
  • Eine Zeile oder Spalte ist im Design zu sehen, aber im ausgeführten Bericht ausgeblendet.
  • Eine Zeile oder Spalte ist im Design zu sehen, aber im ausgeführten Bericht ausgeblendet, wenn eine bestimmte Bedingung erfüllt. Damit kann man z.B. leere Ergebniswerte automatisch Ausblenden lassen.
  • Eine Spalte oder Zeile wird nach der Berichtsausführung auf die optimale Breite bzw. Höhe gestellt.
  • Im Designmodus wird der Blattschutz aus- und im Berichtsmodus angeschaltet.
  • In einem ausgeführt Bericht werden statt Jet Reports Formeln nur noch die Ergebniswerte angezeigt. Damit kann ein Bericht auch an Excel-Nutzer ohne Jet Reports gesendet werden.
  • Sofortaktualisierungen durch Parameteränderungen können auch im ausgeführten Berichtsmodus erlaubt werden. Damit kann man z.B. ein Dashboard erstellen.

Berechtigungen
Es gibt drei verschiedene Anwendungsarten für das Erstellen, Aktualisieren und Anschauen von Jet Reports Auswertungen.

  • Designer
    Die Designer können Berichte ausführen und neuen Berichte erstellen. Ihnen stehen alle Funktionen und Assistenten zur Verfügung. Designer sind namentlich in der Lizenz geführt. Für den Design-Modus muss Jet Reports installiert sein.
  • Viewer
    Die Viewer können Berichte ausführen (Werte aktualisieren). Sie können die Formeln nicht bearbeiten. Wenn der Designer Parameter für einen Bericht vorgegeben hat, dann kann ein Viewer die Parameter anpassen. Für den Viewer-Modus muss Jet Reports installiert sein.
  • Exceluser
    Ausgeführte Berichte können von jeden Excel-Benutzer geöffnet werden. Das Aktualisieren der Daten ist nicht möglich. Jet Reports braucht nicht installiert zu sein.

Scheduler
Erstellte Berichte können zeitgesteuert automatisch ausgeführt werden. Die Berichte können als Excel-Tabelle, als PDF oder als HTML ausgegeben werden. Das erstelle Dokument kann in einem Dateiorder abgelegt oder per Mail versendet werden.

Report Wizard
Mit diesem Assistenten kann man sich einfache Berichte per Mausklick erstellen. Es werden Jet Reports Befehle daraus erstellt, die einen einfachen Einstieg für komplexere Berichte ermöglichen.

Report Builder
Mit diesem Assistenten kann man sich auf übersichtliche Weise komplexe Berichte erstellen, ohne die Jet Reports Befehle zu kennen. Der Report Builder ermöglicht das einfache Erstellen von Berichten mit multiblen Gruppierungen und multiblen Tabellen.

Konfiguration
Für das automatische Versenden von ausgeführten Berichten per EMail kann ein SMTP-Server angegeben werden. Die Anwendungs- und Datenquellenkonfiguration kann unternehmensweit auf einen MS-SQL-Server ausgelagert werden. Alternativ zum Zugriff über CFront kann der Zugriff über Web-Service eingerichtet werden. Damit kann Jet Reports auch nur mit dem RTC-Client betrieben werden. Es können beliebig viele Datenquellen angelegt werden, wenn mehr als eine Datenbank ausgewertet werden soll.

Lizensierung
Diese Version ist ab der Navision Client Version 3.10 freigegeben. Mit leichten Einschränkungen kann diese Version auch ab der Navision Client Version 2.01b eingesetzt werden.  Den vollen Funktionsumfang der aktuellen Version erhält man aber erst ab der Dynamics NAV Client Version 4.02. Für jeden Navision-Lizenzschlüssel muss man eine Jet Reports Connector Lizenz erwerben. Zusätzlich zum Navision-Connector wird auch eine Jet Reports ODBC Connector Lizenz angeboten. Damit kann man alle Jet Reports Funktionen auch auf beliebigen ODBC Datenquellen anwenden. Für den Betrieb von Jet Reports ist das CFront-Granule in der Navision Lizenz erforderlich.

Zusammenfassung
Jet Reports Essentials ist eine Macht. Man kann damit jeden in Excel darstellbaren Bericht automatisch aus einer oder mehreren Datenquelle abrufen. Aus jeder Tabelle und aus jedem Feld der Datenbank. Per Knopfdruck sind alle Zahlen des Berichtswesens aktuell. Alle Formatierungen sind bereits erledigt. Die Express Version ist nur ein Appetit Happen zum Kennenlernen. Die Essentials Version spielt in einer anderen Liga. In unserer Jet Reports Essentials Broschüre finden Sie noch weitere Informationen.

Andreas Koblischke
www.datenkultur.de

Unterschiede der Editionen – Express

Jet Reports Express ist seit der NAV 2009 Version Bestandteil der Produktlizenz von Dynamics-NAV. Wir sind oft gefragt worden was die Kauf-Versionen von Jet Reports mehr leisten können als die Express Version.

Der Funktionsumfang der Editionen baut aufeinander auf. Die Essentialsversion beinhaltet auch alle Funktionen der Express-Version. Entsprechend beinhaltet die Enterprise-Version auch alle Funktionen der beiden kleineren Editionen. Um die Unterschiede zu erklären beschreibe ich die zusätzlichen Funktionen der jeweiligen Version in einem separaten Blog-Post.

Jet Reports Express

Lizensierung
Für Dynamics-NAV Kunden ab der Version 2009 mit laufendem Wartungsvertrag bei Microsoft (BREP), ist diese Edition ohne Zusatzkosten zum Download verfügbar. Das erforderliche CFront-Granule können sich die Kunden kostenfrei in die Dynamics-NAV Lizenz aufnehmen lassen.

Konfiguration
Es kann auf einem Rechner genau eine Verbindung zu einer Navision Datenquelle eingerichtet werden. Der auszuwertende Standard-Mandant kann vorgegeben werden.

GL-Funktion
Diese Funktion ist für das komfortable Auswerten der Finanzbuchhaltung konzipiert. Es handelt sich um einen zusätzlichen Excel-Befehl (GL). Mit diesem Befehl kann in einer Excel-Zelle ein Wert aus der Navision-Datenbank abgerufen werden. Es können ein Saldo, ein Haben-Betrag, ein Soll-Betrag oder ein Budget für ein oder mehrere Sachkonten ausgelesen werden. Die Werte können auf Datumsbereiche, Kostenstellen oder Kostenträger gefiltert werden. Zusätzlich kann der Mandant vorgeben werden.
Mit der GL-Funktion können sehr einfach statisch definierte Finanzberichte, wie z.B. eine GuV in Excel erstellt und auf Knopfdruck aktualisiert werden.

Tablebuilder
Dieser Assistent von Jet Reports ermöglicht das dynamische Erstellen einer Excel Tabelle anhand von Daten aus Dynamics NAV. Die resultierende Excel-Tabelle kann als Datenquelle per Pivot in Excel ausgewertet werden. Der Assistent erlaubt das Verknüpfen von beliebig vielen Tabellen aus der Datenbank (Z.B. Artikelposten->Artikel->Lagerbuchungsgruppe). Die abzurufenden Daten können gefiltert werden. Entweder grundätzlich (Z.B. Artikelpostenart = Verkauf) oder vor der Berichtsausführung durch den Benutzer (Z.B. Artikelnr. = ???).

Berechtigungen
Erstellte Berichte können von jedem aktualisiert werden, der die erforderlichen Tabellen-Leseberechtigung im Navision hat. Änderungen an dem Berichtsaufbau kann jeder Excel-Benutzer durchführen.

Zusammenfassung
Es ist sehr empfehlenswert das kostenlose Tool mal auszuprobieren. Für statische Buchhaltungsberichte und sonstige Auswertungen mit kleineren Datenmengen kann man die Express Version bereits gut einsetzten.

Andreas Koblischke
www.datenkultur.de

Aging Report – Am Beispiel Artikelbestand

In diesem Beitrag wird das Erstellen eines Berichtes erklärt, der das Alter von Lagerbeständen darstellt.

Da ich nicht alle Formeln in diesem Blog ausschreiben möchte habe ich den Bericht als Demo bereits erstellt. Sie können sich da anschauen, wie das in Excel umgesetzt wurde.

Zuerst muss der jeweilige Datumsbereich bestimmt werden. In meinem Bespiel nehme ich 0 Tage (Heute), die 30 Tage davor und alles was noch älter ist. Natürlich kann man das beliebig erweitern oder sogar per Spalten-Befehl dynamisch gestalten. Ich möchte es aber gern einfach halten.

Datumswerte werden in Excel intern als Zahlen gespeichert und lediglich als Datum formatiert. Man kann daher mit Datumswerten rechnen (1.1.2013 + 30 = 31.1.2013). Mit der Funktion NP(“Datumsfilter”;..) kann man sich daraus leicht einen Filtertext erstellen, den man für NL-Befehle verwenden kann.

Den Bestand eines Artikels kann man mit dem Befehl NL(“Summe”;..) berechnen. Für einen Aging-Bericht muss der Restbetrag aus den Artikelposten für einen Zeitraum summiert werden:

=NL(“Summe”;”Artikelposten”;”Restmenge”;”Artikelnr.”;”4711″;”Buchungsdatum”;”1.1.12..31.1.12″)

Für die Menge ist der Aging Report damit bereits erledigt.

Der Betrag ist nicht so leicht zu ermitteln, da Navision nur die Restmenge direkt in die Artikelposten speichert. Dem Artikelposten zugeordnet ist nur der Einstandspreis für die gesamte Menge. Die kann sich auch noch laufend verändern (Frachtkostenzuschläge, Wechselkurseinflüsse, Umbewertungen …). Man kann es aber näherunsweise ermitteln, wenn sich die Einstandspreise für Artikel innerhalb eines Intervalls nicht erheblich unterscheiden. Dazu muss man:

  1. Die ursprüngliche Menge summieren
  2. Die Einstandspreise (Erwartet und Tatsächlich) summieren
  3. Einen Stückpreis aus den Summen errechen (Summe Preis / Summe Menge)
  4. Den Stückpreis mit dem Restbestand multiplizieren

Ich empfehle die einzelnen Formeln in Hilfsspalten zu platzieren. Man kann das auch in einer Zelle, aber es wird dadurch nur sehr unübersichtlich und schlecht zu pflegen. Die Beträge können wir wieder mittels NL(“Summe”;..) berechnen lassen. Damit das Ergebnis nicht verfälscht wird, summiere ich nur die Bewegungen, die keinen Restbetrag aufweisen. Der Filter “Restbetrag”;”<>0″ macht den Bericht zwar langsamer, aber genauer:

Ursprüngliche Menge:

=NL(“Summe”;”Artikelposten”;”Menge”;”Artikelnr.”;”4711″;”Buchungsdatum”;”1.1.12..31.1.12″;”Restmenge”;”<>0″)

Die selbe Funktion verwende ich für die Felder “Einstandsbetrag (tatsächl.)” und “Einstandsbetrag (erwartet)”. Der Rest ist nur noch Excelformelei.

Es kann vorkommen, dass sie negative Bestände erhalten. Das sind z.B. Verkäufe, die noch mit keinem Zugang ausgeglichen wurden. Damit der Lagerbestand stimmt müssen Sie diese Werte mit verwenden. Ist ja auch eine praktische Nebeninformation.

Ausgeführt sieht der Bericht in meinem Beispiel dann so aus:

Artikelbestand Aging ausgeführt

Artikelbestand Aging ausgeführt

Die Hilfsspalten habe ich mit Excel-Gliederungen ausblenden lassen. So kann man sich das aber noch mal anschauen und kontrollieren. Natürlich kann man die Spalten auch mit dem “Ausblenden” ganz ausblenden.

Artikelbestand Aging Hilfsspalten

Artikelbestand Aging Hilfsspalten

Im Designmodus kann man den Aufbau erkennen.

Artikelbestand Aging Designmodus

Artikelbestand Aging Designmodus

Den Bericht können Sie hier herunterladen:

JetReports-Artikelbestand-Aging.xls

Die Formeln im Bericht sind in englischer Sprache gehalten. Auf diese Weise kann der Bericht auch auf installation in anderen Sprachen als deutsch ausgeführt werden. Das funktioniert, weil Jet Reports in den Formeln die gewählte Sprache (Caption) und alternativ den programmierten Feldnamen (Name) verwendet. Wenn Sie Ihre Navision in verschiedenen Sprachen betreiben, dann empfehle ich deswegen das Sprachmodul in den Datenquelleneinstellungen gar nicht erst zu laden. Dann braucht man die Formeln in den Berichten nicht zu übersetzen.

Andreas Koblischke
datenkultur GmbH

 

Replikatoren: Zeilen, Spalten, Blätter

Mit Jet Reports kann man dynamische Listen erstellen. Dynamisch bedeutet hier, dass die Anzahl der Elemente erst ermittelt wird, wenn die Liste ausgeführt wird. Eine Liste der Sachbuchungen pro Monat enthält in der Regel für jeden Monat eine andere Anzahl an Zeilen (Dynamischer Aufbau). Mit den Jet Reports Replikatoren kann man dynamische Listen erstellen.

Die Replikatoren rufen Datenmengen aus der Datenbank ab. Das Ergebnis kann daher beliebig viele Datensätze enthalten. Eine Replikator-Funktion steht aber in genau einer Excel-Zelle. In dieser Zelle kann auch nur genau ein Wert angezeigt werden. Wenn mehr als ein Datensatz gefunden wird, dann fügen die Replikatoren der Excel-Mappe neue Elemente hinzu (neue Excel-Zeilen, neue Excel-Spalten oder neue Tabellenblätter).

Zeilen

Die neuen Zeilen werden zwischen der Zeile des Befehls und der nachfolgenden Zeile eingefügt. In die neue Zeile wird die gesamte ursprüngliche Zeile kopiert. Die Spalte in der der Zeilenbefehl steht wird mit dem Ergebniswert der betreffenden Zeile überschrieben. Als Ergebnis haben wir eine neue Zeile mit dem zugehörigen Ergebiswert, die ansonsten exakt die selben Excel-Formeln hat wie die Ursprungszeile.

=NL(“Zeilen”;”Sachposten”;”Sachkontonr.”;”Buchungsdatum”;”1.12.2010..31.12.2010″)

Mit meiner Cronus Datenbank von Navision listet dieser Befehl insgesamt 72 unterschiedliche Sachkontonummern untereinander auf. Wenn man in den Zellen die Formeln betrachtet, dann steht in der ersten Zelle der ursprüngliche Befehl. In den 71 folgenden Zeilen steht lediglich das Ergebnis (als Formel in Anführungszeichen, damit Excel keine impliziten Formatierungen darauf ausführt). Wenn man die Steuerspalte A beim ausgeführten Bericht einblendet, dann findet man in allen neu eingefügten Zeilen den Begriff “Auto”. Daran erkennt Jet Reports welche Zeile gelöscht werden muss, wenn man wieder in den Design-Modus zurückschaltet. Tragen Sie in diese Spalte nie etwas anderes ein als die verfügbaren Jet Reports Steuerparameter. Jet Reports könnte anderfalls Ihr Berichtsdesign ruinieren, wenn Sie in den Designmodus zurückschalten.

Spalten

Der Spaltenbefehl funktioniert analog zu dem Zeilen-Befehl. Die neuen Spalten werden zwischen der Spalte des Befehls und der nachfolgenden Spalte eingefügt. In die neue Spalte wird die gesamte ursprüngliche Spalte kopiert. Die Zeile in der der Spaltenbefehl steht wird mit dem Ergebniswert der betreffenden Spalte überschrieben. Als Ergebnis haben wir eine neue Spalte mit dem zugehörigen Ergebiswert, die ansonsten exakt die selben Excel-Formeln hat wie die Ursprungsspalte.

=NL(“Spalten”;”Sachposten”;”Buchungsdatum”;”Buchungsdatum”;”1.12.2010..31.12.2010″)

Mit meiner Cronus Datenbank von Navision listet dieser Befehl vier Tage nebeneinander auf, sofern man die Zelle als Datum formatiert hat. Wenn man in den Zellen die Formeln betrachtet, dann steht in der ersten Zelle der ursprüngliche Befehl. In den 3 folgenden Spalten steht wieder lediglich das Ergebnis. Wenn man die Steuerzeile 1 beim ausgeführten Bericht einblendet, dann findet man in allen neu eingefügten Spalten erneut den Begriff “Auto”. Daran erkennt Jet Reports welche Spalte gelöscht werden muss, wenn man wieder in den Design-Modus zurückschaltet. Auch hier handelt Weise, wer nur erlaubtes in diese Zeile einträgt.

Blätter

Der Blätterbefehl hebt sich von den beiden Kollegen etwas ab. Es werden keine Excel-Zellen eingefügt werden, sondern ganze Tabellenblätter. Das Prinzip ist aber wieder das Gleiche. Die neuen Blätter werden hinter das Blatt mit dem Befehl eingefügt. In das neue Blatt wird das gesamte ursprügliche Blatt kopiert. Die Zelle in der der Blätter-Befehl steht wird mit dem Ergebniswert des betreffenden Blattes überschrieben. Als Ergebnis haben wir ein neues Blatt mit dem zugehörigen Ergebiswert, das ansonsten exakt die selben Excel-Formeln hat wie das Ursprungsblatt.

=NL(“Blätter”;”Sachposten”;”Kostenträger Code”;”Buchungsdatum”;”1.12.2010..31.12.2010″)

Mit meiner Cronus Datenbank von Navision erstellt dieser Befehl vier Blätter. Das Erste hat den Namen “(2)”, das Zweite den Namen “MERCEDES”, usw. Die Namen der Blätter sind die Ergebniswerte aus den Datensätzen. Jet Reports hat das erste Blatt “(2)” genannt, da ein Excel-Blatt einen Namen haben muss und der erste Datensatz einen Leeren Text geliefert hat. Wenn wir uns die Formeln anschauen, dann steht auf dem ersten Blatt wieder der Befehl und auf den folgenden Blättern ist wieder nur der Wert eingefügt worden. Bei eingefügten Blättern findet man in der Zelle A1 den Text “+AutoBlatt”. Daran erkennt Jet Reports, dass das gesamte Blatt gelöscht werden muss, wenn man wieder in den Design-Modus zurückschaltet. Ich habe schon erwähnt, dass man in der Zeile 1 und der Spalte A nur Jet Reports Parameter eintragen sollte, oder?

Replikatoren verwenden

Die verschiedenen Replikatoren können mehrfach in einem Bericht verwendet werden. Sie können auch miteinader Kombiniert werden. Das folgende Beispiel kombiert alle drei “Achsen” in einer Auswertung.

Jet Report: Zeilen, Spalten und Blätter - Designmodus

Designmodus

Jet Report: Zeilen, Spalten und Blätter - Ausgeführter Bericht

Berichtsmodus

Das Ergebis ist ist ein Bericht, der für einen gewählten Zeitraum:

  • Ein Blatt für jeden gebuchten Kostenträger anlegt
  • Alle gebuchten Sachkonten in den Zeilen auflistet
  • Jedes verwendete Buchungsdatum in den Spalten auflistet
  • Und die Summe des Buchungsbetrags für jede Kombination aus Sachkonto, Buchungsdatum und Kostenträger berechnet.

Das ganze mit lediglich 4 simplen Excelbefehlen. Gut, oder?

Untersuchen Sie den Bericht gern selbst:

JetReports-Zeilen-Spalten-Blaetter.xls

Andreas Koblischke

Neue version Verfügbar: Jet Essentials 2012 R2 Build 12.5.13039.0

Es gibt eine neue Version von Jet Reports zum Download.

Für den Download der Dateien und Informationen brauchen Sie einen Zugriff auf die Supportseiten von Jet Reports. Wenn Sie dort noch keinen Zugang haben, dann können Sie sich hier für den Zugang anmelden.

Wichtig: Sie können die aktuelle Version nur installieren, wenn Sie noch in der Wartung sind. Sie finden die Information in Ihrer Jet Reports Lizenzdatei im Punkt “Updates thru”. Die Lizenzdatei ist ein Textdatei, die auf .JLF endet und sich oft im Programmverzeichnis von Jet Reports befindet. In der Datenquellen-Einrichtung können Sie die Lizenzdatei ebenfalls einsehen. In alten Versionen gab es einen Knopf “Teste Verbindung”. In den neueren Versionen finden Sie auf dem Reiter “Allgemein” unten links einen Link. Wenn Sie darauf klicken, dann wird Ihre Lizenzdatei geöffnet. Bitte beachten Sie, dass es sich um ein amerikanisches Datumsformat handelt (Jahr/Monat/Tag).

Für diese Version muss Ihr Update mindestens noch bis zum 13.2.2013 eingetragen sein.

Die Änderungen seit den letzten Versionen können Sie in der ChangeList nachlesen.

Bitte verwenden Sie für

– 32 Bit Office diese Installationsversion

– 64 Bit Office diese Installationsversion

Andreas Koblischke

Informationen und Tips zu Jet Reports

Sehr geehrter Leser,

die datenkultur GmbH hat sich seit dem Vertriebstart von Jet Reports in Deutschland auf das beliebte Reporting System spezialisiert. Wir haben schon mehr als 100 Versionen verkauft, wir haben hunderte Trainings gehalten, wir haben mehr als 1000 Clientinstallationen absolviert, wir haben noch viel mehr Berichte mit Jet Reports erstellt und wir lieben Jet Reports immer noch.

Dieser Blog soll Tips zum Erstellen von Jet Reports geben. Wir werden auch regelmäßig auf neue Versionen und neue Funktionen hinweisen. Es lohnt sich daher diesen Blog als RSS Feed zu abonieren.

Einsteigern in Jet Reports empfehlen wir eine Basis-Schulung zu Buchen. Die Tips in diesem Blog bauen auf Grundkenntnissen auf. Jet Reports ist prima, aber der Einstieg ohne Trainier ist nicht leicht. Natürlich bieten wir auch Schulungen für Jet Reports an.

Ich hoffe, dass Ihnen unser Blog die Arbeit mit Jet Reports erleichern wird.

Andreas Koblischke