Seite 1 von 1
[gelöst]Durchschnittsalter in Bericht.
Verfasst: Do 14. Jan 2016, 20:21
von suwo
Hallo zusammen.
Ich habe eine Tabelle mit Geburtstagen. Jetzt habe ich einen Bericht erstellt: Vorname Name Geb. Datum. Am Ende des Berichtes möchte ich das Durchschnittsalter berechnen. Habe im Netz gesucht und bin jetzt etwas weiter. Das Alter kann ich in der Abfrage ausrechnen. Allerdings nur auf ganze Jahre. Ich hätte aber gerne zwei Nachkommastellen (z.B.: 25,34 Jahre). Wenn ich jetzt von jeder Person das Alter in der Abfrage habe, würde ich gerne den Durchschnitt im Bericht ermitteln. Laut Handbuch müsste ich eine benutzerdefinierte Funktion über den Berichtsnavigator einfügen. Kann mir da jemand helfen? Ich hänge mal eine Testdatei an.
Libreoffice unter Ubuntu
Version: 4.2.8.2
Build-ID: 420m0(Build:2)
Danke für die Hilfe,
Suwo
Re: Durchschnittsalter in Bericht.
Verfasst: Fr 15. Jan 2016, 16:17
von RobertG
Hallo suwo,
ich weiß nicht, wie Du ein Alter mit Nachkommastellen korrekt berechnen willst. Hier deshalb erst einmal das Durchschittsalter. Da der Bericht noch gar nicht existiert habe ich das einfach in die Abfrage geschrieben. Die neue Abfrage lautet jetzt:
Code: Alles auswählen
SELECT "Geburtstag", "Vorname", "Name", DATEDIFF( 'yy', "Geburtstag", CURRENT_DATE ) AS "Alter" , (SELECT SUM(DATEDIFF( 'yy', "Geburtstag", CURRENT_DATE ))/COUNT("Geburtstag") FROM "Geburtstag") AS "Altersdurchschnitt" FROM "Geburtstag"
Der Durchschnitt wird als Summe der Jahresdifferenzen durch die Anzahl der Einträge im Feld Geburtstag ermittelt.
Das Alter ist natürlich so erst einmal nicht korrekt: Die Jahresdifferenz zeigt für alle, die im Jahr 2015 geboren wurden, jetzt in der Abfrage das Alter '1 Jahr' an. Schau Dir dazu einmal in dem Kapitel "Datenbank-Aufgaben" das Unterkapitel "Codeschnipsel" an. Da sind mehrere Beiträge zur tatsächlichen Altersberechnung.
Gruß
Robert
Re: Durchschnittsalter in Bericht.
Verfasst: Sa 16. Jan 2016, 10:38
von suwo
Hallo.
Vielen Dank für die Hinweise. Ich habe mal einen ganz einfachen Bericht erstellt. Dazu im Navigator eine benutzerdefinierte Funktion eingefügt: sum([Alter]). Hier werden aber nicht die Jahre addiert, sonder lediglich das Alter des ersten Datensatzes angezeigt. Irgendwo habe ich da wohl einen Fehler eingebaut.
Wie man das Alter mit Nachkommastellen berechnen kann weiß ich auch nicht

, daher die Frage

. Wenn jemand aber 9 Jahre und 6 Monate alt ist wäre er ja dezimal 9,5 Jahre alt. Ein anderer mit 15 J und 9 Monaten 15,75. Ist zwar nicht lebenswichtig. Bei einer kleineren Gruppe wäre es statistisch aber schon interessant ob der Durchschnitt 23,15 Jahre oder 23,99 Jahre ist.
mfg und schönes WE,
Suwo
Re: Durchschnittsalter in Bericht.
Verfasst: Sa 16. Jan 2016, 11:43
von RobertG
Hallo suwo,
schau Dir einmal die Summenberechnung an. Habe ich nur mit Hilfe der internen Funktionen (Summe über das Feld Alter) kurz zusammengeklickt. Dann benötigst Du noch den Zähler. Daraus kannst Du schließlich den Durchschnitt berechnen.
Einen Screenshot dazu findest Du auch im Base-Handbuch im Kapitel "Berichte": SummeGebuehrLeser_Name
Gruß
Robert
Re: Durchschnittsalter in Bericht.
Verfasst: Mo 18. Jan 2016, 12:04
von suwo
Hallo.
Danke für die Hilfestellung. Ich habe das im Handbuch auch nachgelesen, habe aber nicht verstanden wo die Formel [SummeGebuehrLeser_Name] genau steht. Die Funktion habe ich im Berichtsnavigator gefunden. Aber wo kriegt die Berechnung Summe seine Zahlen her?
Bei meiner DB habe ich wohl zu kompliziert gedacht. Jetzt wollte ich das nachbauen. Aber ich scheitere schon am Zähler. Bei mir wird im Bericht immer nur eins statt sechs angezeigt. Wo liegt der Fehler?
mfg, Suwo
Re: Durchschnittsalter in Bericht.
Verfasst: Mo 18. Jan 2016, 22:07
von RobertG
Hallo sowo,
schau Dir über den Berichtsnavigator die Funktion an. (Berichtnavigator > Funktionen > ZählerBericht) Stelle die Zählung auf Vorausberechnung > 'Ja'. Die Funktion des Zähler ist davon abhängig, an welcher Position im Bericht er steht. Du hast den Seitenfuß gewählt - das muss nicht das Ende des Berichts sein.
Gruß
Robert
Re: Durchschnittsalter in Bericht.
Verfasst: Di 19. Jan 2016, 21:50
von suwo
Hallo.
Jetzt klappt es. Wieder was gelernt. Vielen Dank.
Gruß,
Suwo