AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken [SQL] Durchschnittsbewertung über Zeitraum
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] Durchschnittsbewertung über Zeitraum

Ein Thema von Valle · begonnen am 14. Dez 2011 · letzter Beitrag vom 15. Dez 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#11

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 14. Dez 2011, 23:35
Im Anhang ist eine Grafik, die das gewünschte Ergebnis anzeigt.

Jeder Punkt der blauen Linie entspricht dem Durchschnitt der letzten 10 Bewertungen. Bewertungen sind die roten Punkte, die (logischer Weise) immer ganzzahlig sind. Die Umsetzung habe ich jetzt recht quick 'n dirty gemacht, indem ich die Daten per SQL geholt und anschließend im Client verarbeitet habe. Ziele waren ja, die Daten direkt in SQL zu verarbeiten bzw. zu erfahren ob das sinnvoll ist.

Außerdem stellt sich mir noch immer die Frage, ob der Schnitt über die letzten 10 Bewertungen Sinn macht. Irgendwie erscheint mir das willkürlich. Wenn ich aber den Gesamtschnitt nehme (also jeder Punkt auf der blauen Linie entspricht dem Durchschnitt aller vorhergehenden Bewertungen), dann pendelt sich die Kurve mehr und mehr auf einen festen Wert ein.

@Bummi: Ja, ich bin eben auch darauf gekommen, dass wir uns wohl misverstehen. Das Query tut zwar was es soll, aber das ist nicht mein Ziel. Ist es jetzt durch Grafik und Erklärung klarer geworden was ich meine?
Miniaturansicht angehängter Grafiken
2011-12-14-233048_534x283_scrot.png  
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#12

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 14. Dez 2011, 23:54
Wie listest Du nicht einfach mal die Table Def oder auch gleich die Daten?
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#13

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 14. Dez 2011, 23:58
Weil ich nicht weiß inwiefern es legal ist, Code von der Arbeit zu veröffentlichen.

Code:
+----------------------------------+---------------------------+------+-----+---------+-------+
| Field                           | Type                     | Null | Key | Default | Extra |
+----------------------------------+---------------------------+------+-----+---------+-------+
| buchungen_id                    | int(10) unsigned         | NO  | PRI | NULL   |       |
| service_freundlichkeit_vermieter | enum('1','2','3','4','5') | YES |     | NULL   |       |
| sauberkeit_innen                | enum('1','2','3','4','5') | YES |     | NULL   |       |
| sauberkeit_aussen               | enum('1','2','3','4','5') | YES |     | NULL   |       |
| service_vermittler              | enum('1','2','3','4','5') | YES |     | NULL   |       |
| preis_leistung                  | enum('1','2','3','4','5') | YES |     | NULL   |       |
| ausstattung                     | enum('1','2','3','4','5') | YES |     | NULL   |       |
+----------------------------------+---------------------------+------+-----+---------+-------+
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#14

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 15. Dez 2011, 00:12
Ich seh hier kein Datum oder ist es schon so spät?
Tagesdurchschnitt, 10er Durchschnitt, wer weiß das schon. Vielleicht gibt es ja eine Anforderung dazu.

Deine Grafik hat jedenfalls eine Zeitachse. Was nebenbei bemerkt nicht Deinen Ausgabeformatwunsch aus Post #1 rechtfertigt.
Die Datenmenge und Deine Grafik "klingen" nach einem Wochenschnitt oder so.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#15

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 15. Dez 2011, 00:17
Bei den geringen Datenmengen, bzw. langen Auwertungszeiträumen könntest Du es mal mit
Code:
Select Year(Datum) as Year,Month(Datum) as Month, AVG(Bewertung) as Wert
from Tabelle
Group by Year(Datum),Month(Datum)
Order By Year(Datum),Month(Datum)
oder ähnlichem versuchen
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#16

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 15. Dez 2011, 00:32
Ich seh hier kein Datum oder ist es schon so spät?
Deswegen, veröffentliche ich nicht die Tabellen-Definition. Das Datum steht in der Buchung.

Tagesdurchschnitt, 10er Durchschnitt, wer weiß das schon. Vielleicht gibt es ja eine Anforderung dazu.
Nein, ich schrieb oben, dass ich offen für eine sinnvolle Darstellung bin.

@Bummi: Mh, okay. Danke, das sieht interessant aus. Allerdings Wäre möglicherweise ein Tagesdurchschnitt sinnvoller. An der Grafik sieht man, dass die Bewertungen sehr stoßartig in den Sommermonaten kommen. Ich werde mir das aber morgen mal grafisch darstellen lassen. Mal sehen wie das so aussieht.

Edit:// Ah okay, ich glaube ich habe gerade den Grund für die Verwirrung gefunden. Das Schema im ersten Post ist etwas missverständlich formuliert. Ich hätte besser schreiben sollen "Durchschnitt bis zu dieser Zeit". Es geht nicht um den Durchschnitt an dem Datum selbst, sondern um den Schnitt aller Bewertungen vorher. (oder eben einer bestimmten Menge an Bewertungen vorher - je nach dem was sinnvoll ist)
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog

Geändert von Valle (15. Dez 2011 um 00:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#17

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 15. Dez 2011, 00:41
dann so ..
Code:
Select DISTINCT Datum,(Select AVG(Bewertung) from dbo.DatumWert d2 where d2.Datum<=d1.Datum) as Bewertung
from dbo.DatumWert d1
Order by Datum
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#18

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 15. Dez 2011, 08:48
Weil ichs gerade für ein Schulprojekt machen muss, werf ich mal das Stichwort Regelkarte in den Raum. Das ist ein Hilfsmittel aus dem Qualitätmanagment. Dabei geht es eigentlich um die Auswertung von Stichproben (aus der Fertigung) und dem Frühzeitigen erkennen, wenn Prozesse schief laufen.

Mmn ist das aber auf dein Problem übertragbar. Eine Stichprobe entspricht bei dir den einzelnen Noten (in einem Kriterieum, z.B. Sauberkeit) eines Tages. Die Durchschnitte der Noten der einzelnen (früheren) Tage werden dann wiederum genutzt um sog. Warngrenzen festzulegen. So ist dann erkennbar, wenn die Durchschnitte einmal aus dem Rahmen fallen, oder ein Trend ist leichter erkennbar.
Ralph
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#19

AW: [SQL] Durchschnittsbewertung über Zeitraum

  Alt 15. Dez 2011, 09:40
Ist das Feld "Datum" ein Datum oder ein Zeitstempel. Wenn es ein Datum ist, dann würde ich es so machen:
1. Tagesdurchschnitt
Code:
select Datum,
       Avg (1.0*Bewertung) as Tagesdurchschnitt
 from Tabelle
Group by Datum
-- Order by Datum -- sollte im Client erfolgen => Server sind zum sortieren zu schade
2. Kummulierter Durschnitt
Code:
select d1.Datum,
       (Select Avg (1.0*d2.Bewertung) from Tabelle d1 where d1.Datum<=d2.Datum) as KummulierterTagesdurchschnitt
 from (
  select distinct Datum from Tabelle) d1
Oder Vorschlag von Bummi (meiner ist -glaube ich- schneller)

Das Ganze kannt Du ganz leicht in eine Grafik packen (Datum=Y, Durschnitt = X)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz