RDLC VS Service Tier

12. April 2018 16:35

Hallo zusammen,

bei uns kam grade die Frage auf, was sinniger erscheint.

Wir haben einen Bericht, der verschiedene Werte aufsummiert und gruppiert.
Als alter CC Programmierer hätte ich dies nun ohne nachzudenken in Bericht Programmiert und dort alle Werte summiert.
Ein Kollege hat dies im Berichtsdesigner erledigt, das war für mich neu.

Welcher Weg ist performanter bzw. sinniger? (lern ja auch gern noch dazu)
Gerne reicht mir auch eine Quelle oder Begriffe nachdenen ich suchen kann, die Begriffe von mir scheinen zu allgemein zu sein :)

Re: RDLC VS Service Tier

12. April 2018 17:46

Hallo,

darauf gibt es keine pauschale Antwort.

Bei Berichten bei denen die Anzahl der übergebenen Datensätze denen der angezeigten nahe kommt, lässt man das besser den RDLC machen.

Bei Berichten bei denen du wesentlich mehr als die angezeigten Datensätze ausgeben müsstest, macht man das besser im C/AL.

Es mach keinen Sinn alle Artikelposten eines Artikels an den Bericht zu übergeben, nur um dort den Lagerbestand pro Artikel berechnen und anzeigen zu lassen.
Es mach aber schon Sinn sich die Summe der übergebenen Salden der Debitoren am Ende des Berichts vom RDLC berechnen zu lassen .

Gruß Fiddi

Re: RDLC VS Service Tier

12. April 2018 17:47

Ich stell mir immer die Frage:
Brauch ich die Detaildaten im Report? Wenn ja dann Summiere ich im Layout, wenn nein übergebe ich nur die Ergebnisse. Umso kleiner das Dataset ist umso besser.
Aber wenn wir schon über Performance reden, für Auswertungen macht es durchaus Sinn Queries zu benutzen, diese sind naemlich um einiges schneller.

Re: RDLC VS Service Tier

16. April 2018 11:36

Vielleicht noch ein Hinweis. Den Befehl SUM im RDLC kann man eigentlich nur verwenden, wenn der Wert den man summieren möchte kein untergeordnetes DataItem hat. Beispiel: Du möchtest den Wert Amount aus der Sales Line summieren und die Summe ausweisen. In diesem Fall kann es sein, dass die Sales Line untergeordnete Dataitems hat (z.B.: Dimensionen). Falls das der Fall ist, wird der Amount einer bestimmten Zeile mehrfach im Dataset übertragen, weil eine Sales Line ja mehrere Dimensionen haben kann. In diesem Fall kann SUM im RDLC nicht benutzt werden, sondern es muss im C/AL summiert werden.

Letztlich ist das wie meine Vorredner sagen. Es gibt keine pauschale Antwort. Es sollten alle Möglichkeiten bekannt sein (Summieren & Gruppieren im RDLC / Summieren & Gruppieren in C/AL). Grundlegend ist meine Faustregel, dass man nur Daten an RDLC übergeben sollte, die man auch tatsächlich drucken will. Daraus ergibt sich dann das Dataset und damit kann man auch bewerten, wo die Summierung/Gruppierung durchgeführt wird.