18. Juni 2013 17:38
Kadawarik hat geschrieben:Die View fasst die Daten aus ca. 10 Tabellen um,
Ich hoffe Du weist was Du da tust. Jet Reports macht intern keine Joins. Durch die vielen Einzelabfragen ist das zwar weniger Performant, aber es stört auch den Betrieb des Gesamtsystems nicht. Wenn Du komplexe Joins in Views nutzt, dann kann das die Performance des Systems empfindlich treffen. Eventuell könntest Du mit Indexed Views arbeiten (Materialisierte Sichten). Dann würde einiges der erforderlichen Performance beim Erfassen der Daten verbraucht werden.
Wie auch immer. Ich empfehle Dir dringend wo wenig wie möglich Daten in Deine Sicht aufzunehmen. So Sachen wie Artikelnamen in die Wertposten zu ziehen weil es bequem ist, auf jeden Fall lassen. Das kann man in Jet Reports leicht mit nem First-Befehl abwickeln. Das verbraucht auch kaum Leistungsfähigkeit vom SQL-Server. Benuzte das nur, wenn Du in einer Tabelle auf Felder einer anderen Tabelle filtern willst. Teste es vorher mit den Befehlen Link oder Filter. Wenn das zu langsam ist, dann denke darüber nach das per View zu lösen. Bau aber keine "Ich habe alles schon in der Sicht" Abfrage. Das killt Dir alle Performance. Bedenke: Du kannst nicht vor der Sichterstellung filtern und musst daher immer alles in der Sicht auflisten (Vielleicht Millonen von Zeilen ermitteln). Auch wenn Du nur zwei Werte daraus abfragen musst.
Als Alternative könntet Ihr auch zu Eurem Jet Reports den ODBC-Connector erwerben. Damit kannst Du komplexe Statements direkt in Deinern Jet Befehlen eingeben und die Where-Clause aus Excel füllen.
Schau Dir zum Thema Performance auch mal die Analyse-Ansichten an. Das kann man mit Jet Reports natürlich auch verwenden.
Wenn Ihr richtig Power wollt, dann ist Jet Enterprise eine hervorragende Alternative. Das kombiniert die flexiblen Jet Funktionen mit einem OLAP-Cube System.
Sebastian Pfliegel hat geschrieben:Was hindert dich daran den View einfach direkt in Excel über ODBC anzusprechen
Über ODBC bekommt man eine 2-Dimensionale Datenmenge, deren Zeilenanzahl unbekannt ist. Das kann man sinnvoll nur per Pivot auswerten. Mit Jetreports kann man in jeder Zelle bestimmen welche Werte dort Anzeigt werden sollen. Inklusive aller Formatierungen und Berechnungen, die in Excel möglich sind. Viele Berichte brauchen diverse Informationen aus unterschiedlichen ERP-Bereichen gleichzeitig (Sachposten, Wertposten, Artikelposten, Anlagenbuchhaltung, Gebuchte Lieferungen, etc.). Schau Dir mal die Exceltapeten des Controllers Deiner Wahl an. Das kann man mit mittels ODBC in Excel nicht, oder nur mit erheblichen Aufwand automatisiert darstellen. Wenn es Dich interessiert: Auf meinem Blog findest Du ein
Beispiel wie so ein Jet Report aufgebaut wird. Daran kann man das vielleicht etwas besser nachvollziehen.
Gruß aus Krefeld
Andreas Koblischke
Zuletzt geändert von Datenkultur am 5. April 2020 16:23, insgesamt 1-mal geändert.