Seite 1 von 1

Bericht aus zwei Datenquellen?

Verfasst: So 28. Feb 2021, 01:39
von lufticus
Hallo in die Runde,

ein Veranstalter für Abenteueraktivitäten möchte eine tageweise Übersicht (ein Blatt pro Tag), welche seiner Kunden welche Aktivitäten genutzt haben. Dazu hat er zwei Tabellen: erstens eine Liste der Namen seiner Kunden und Tag(e), an denen sie bei ihm zu Besuch waren und zweitens eine Liste der (ca. 20) Aktivitäten mit Tagen, an denen sie genutzt wurden. Das Feld mit der gemeinsamen Eigenschaft ist also das Datum, das in einer "Merge-Tabelle" jeweils n:1 mit den beiden o.g. Tabellen in Beziehung steht.

An manchen Tagen hat der Veranstalter nur einen Kunden, der nahezu alle Aktivitäten nutzt. Am nächsten Tag bringt genau dieser Kunde einen Freund mit und sie nutzen andere Aktivitäten. Am darauf folgenden Tag kommt eine Rentergruppe, die nur zwei Aktivitäten nutzt usw. Aber: pro Tag hat der Veranstalter immer nur EINE Gruppe (1 bis 10 Personen), die er bei den Aktivitäten betreuen kann.

Wenn ich in LO Base eine Abfrage erstelle, in der ich alles (drei Tabellen: Kunden, Aktivitäten, Datum) zusammenführe, entstehen aus z.B. drei verschiedenen Aktivitäten und zwei Kunden an einem Tag sechs Zeilen. Wenn ich dann im Bericht für diese Abfrage nach Datum gruppiere, werden drei mal (je Aktivität) immer beide Personen aufgelistet. Ich möchte jedoch für z.B. diesen Tag im Bericht nur einmal beide Personen und - weiter unten an anderer Stelle - die drei Aktivitäten aufgelistet bekommen.

Hat jemand einen Lösungsansatz?

Re: Bericht aus zwei Datenquellen?

Verfasst: So 28. Feb 2021, 08:06
von RobertG
So etwas kannst Du nur durch eine richtig konstruierte Abfrage lösen. Entweder Du gruppierst erst nach den Tagen und dann nach den Personen - dann hast Du die Termine alle der Person zugeordnet. Oder Du gruppierst nach den Terminen - dann taucht die Person gegebenenfalls öfter auf.

Noch einen Rat: Wenn Du die Abfrage halbwegs fertig hast, dann mache daraus eine Ansicht. Die verarbeitet der ReportBuilder grundsätzlich besser, weil er den SQL-Code nicht interpretieren muss.

Re: Bericht aus zwei Datenquellen?

Verfasst: So 28. Feb 2021, 12:29
von lufticus
Ich weiß nicht, wie ich diese Abrage "richtiger konstruiert" als bisher erstellen soll...

Meinst Du die Gruppierung in der Abfrage oder dann im Bericht?

Doofe Frage: wie mache ich aus einer Abfrage eine Ansicht?

Re: Bericht aus zwei Datenquellen?

Verfasst: So 28. Feb 2021, 13:15
von Wanderer
Vgl https://stackoverflow.com/questions/242 ... le-columns

Danach: Nach Person, Datum gruppieren sollte helfen.

Zur Umwandlung in Eine Ansicht: schau mal ins Kontextmenü der Abfrage (in der Liste der Abfragen in Base).

Mfg, Jörn

Re: Bericht aus zwei Datenquellen?

Verfasst: So 28. Feb 2021, 13:58
von lufticus
Hm, eine Abfrage mittels GROUP BY x, y scheint mir momentan noch nicht so einleuchtend... Das verstehe ich nicht auf Anhieb... :roll:

Re: Bericht aus zwei Datenquellen?

Verfasst: So 28. Feb 2021, 19:22
von RobertG
Die Gruppierung machst Du im Bericht.

Um es etwas klarer zu machen: Ich mache häufig aus allen Tabellen zusammen eine Ansicht, jeweils über Left JOIN, so dass mir keine Daten verloren gehen, falls eine Tabelle keine passenden Daten zum Datensatz einer anderen Tabelle hat.

Dann erstelle ich einen Bericht. Der basiert auf der Ansicht. Und dort gibt es die Grupperungs- und Sortierungsfunktion.

Schau gegebenenfalls im Handbuch das Kapitel zu den Berichten an.

Gruß

Robert

Re: Bericht aus zwei Datenquellen?

Verfasst: So 28. Feb 2021, 20:25
von lufticus
Nee, ich brauche wohl einen Bericht, der pro Datum zwei verschiedene Abfragen anzeigt:
1) die Personen, die an diesem bestimmten Datum teilgenommen haben
2) die Aktivitäten, die an diesem bestimmten Datum durchgeführt wurden

(siehe Datei Wunsch_rptKundeAktivität
Wunsch_rptKundeAktivität.odt
(12.3 KiB) 114-mal heruntergeladen
)

Wenn ich von nur einer Abfrage (oder Ansicht davon) die Gruppierungen vornehme, wie es standartmäßig von LO Base angeboten wird, habe ich immer noch Redundanzen in dem Bericht (siehe Datei rptKundeAktivität
rptKundeAktivität.odt
(13.49 KiB) 118-mal heruntergeladen
).

Re: Bericht aus zwei Datenquellen?

Verfasst: Mo 1. Mär 2021, 19:24
von RobertG
Wenn Dir die Daten zu den Kunden von der Gruppierung her wichtiger sind, dann ist natürlich so etwas wie der Name von der Gruppierung höher zu ziehen. Dann ordnest Du dem Kunden die Aktivitätenliste zu.

Ich sehe nach dem, wie ich das machen würde, keine Redundanz, weil eben die Aktivitäten oben stehen und die Kunden innerhalb der Aktivität sich nicht wiederholen.

Du kannst natürlich Aktivitäten in eine Gruppe zusammenziehen. Dann müssen aber alle, die in dieser Gruppierung stehen, auch alle diese Aktivitäten erledigen. Dann hoffe ich nur, dass Du nicht mit der HSQLDB arbeitest, denn da ist das Verfahren GROUP_CONCAT oder LIST nicht bekannt. Da müsstest Du ganz schöne Klimmzüge anfertigen, um das Gewollte zu erreichen.