Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Access - Mittelwert mit Abhängigkeit zum Monat

Access - Mittelwert mit Abhängigkeit zum Monat
17.05.2017 15:49:57
Marcus
Hallo zusammen,
ich benötige Unterstützung in Access:
Ich versuche über einen Abfragegenerator den Mittelwert der vergangenen 6 Monate zu ermitteln.
Ich habe je eine Spalte für jeden Monat des aktuellen Jahres sowie des vergangenen Jahres: Bsp: (LY= Last Year, AY= Actual Year)
Sep_LY, Okt_LY, Nov_LY, Dez_LY, Jan_AY, Feb_AY usw.
Ich möchte mir nun den Mittelwert der vergangenen 6 Monate (ab vergangenen Monat) in einer anderen Spalte anzeigen lassen: Bsp: Monat Heute= Mai = Mittelwert Nov_LY - Apr_AY.
Dies soll sich jeden Monat dynamisch verschieben.
Wie gehe ich hier vor?
MFG

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Access - Mittelwert mit Abhängigkeit zum Monat
17.05.2017 18:47:27
ChrisL
Hi Marcus
In einem Access Forum würdest du kompetentere Hilfe erhalten.
Deine Feldnamen sind Strings (Texte) und damit kann man schlecht rechnen (- 6 Monate). Falls sich die Datenbasis ändern lässt, wäre z.B. folgende Struktur möglich:
ID (z.B. Produktnummer, Filiale etc.), Datum, Wert
Ich denke damit liesse sich dann ein Bericht oder Abfrage erstellen. Wie genau müsste ich auch üben, aber es wäre eine vernünftige Basis.
Falls die Struktur fix ist, braucht es vermutlich VBA resp. eine Kombination von SQL und VBA. Hierzu erstmal eine Abfrage erstellen, wo du manuell die 6 Monate selektierst und die Mittelwert/Avg Formel anwendest. Danach schaust du dir das SQL-Statement an (die Ansicht von der Abfrage auf SQL ändern). Müsste dann etwa wie folgt aussehen:
SELECT Nov, Dez, Jan, Feb, Mrz, Apr FROM TabelleX
Den SQL Code in ein Makro (VBA) integrieren:
http://www.fontstuff.com/access/acctut15.htm
  Dim strSQL As String
strSQL = "SELECT Nov, Dez, Jan, Feb, Mrz, Apr FROM TabelleX"
DoCmd.RunSQL strSQL
Wenn es soweit läuft kann ich dir die Monate dann noch dynamisch einsetzen. Einen Text-String per VBA zusammen setzen ist in Excel und Access (fast) das Gleiche.
cu
Chris
Anzeige
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 09:35:44
Kawensmann
Hallo,
in einem Access Forum würde man sein Datenmodell in der Luft zerreissen ...
Die Monatswerte gehören nicht in Spalten, sondern in Zeilen! Dann eine Aggregationsabfrage drüber und fertig. So ist das Murks ...
Gruß
Kawensmann
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 11:07:27
Marcus
Hallo zusammen,
entspannt euch. Ich bin Anfänger.
Ich habe die Tabelle jetzt entsprechend umgestellt.
Wie kann ich jetzt daraus einen dynamischen Mittelwert für die letzten 6 Monate bilden?
Gruppe Datum KPI
A 01.01.2016 1
A 01.01.2016 2
B 01.01.2016 3
B 01.02.2016 4
C 01.01.2016 5
C 01.02.2016 6
...
...
..
MFG
Mfg
Anzeige
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 11:29:21
ChrisL
Hi Marcus
Alter Falter, entspann dich doch selber...
Filter letzte 6 Monate:
SELECT Tabelle1.Gruppe, Tabelle1.Datum, Tabelle1.KPI
FROM Tabelle1
WHERE (Tabelle1.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0);
cu
Chris
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 12:32:43
Marcus
Hallo,
vielen Dank schonmal.
Mit folgenden Aufbau berechnet er schonmal den Average:
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
GROUP BY NiederlVerkn_
Allerdings verstehe ich nicht ganz wie ich hier jetzt die dynamische Zeitraumsbegrenzung einfüge.
Kann mir hier jm helfen?
MFG
Anzeige
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 12:37:46
Marcus
Hallo,
vielen Dank schonmal.
Mit folgenden Aufbau berechnet er schonmal den Average:
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
GROUP BY NiederlVerkn_
Allerdings verstehe ich nicht ganz wie ich hier jetzt die dynamische Zeitraumsbegrenzung einfüge.
Kann mir hier jm helfen?
MFG
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 12:44:37
ChrisL
Hi Marcus
Ich schätze einfach anhängen:
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
GROUP BY NiederlVerkn_
WHERE (Tabelle1.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0);
Den markierten Feldnamen musst du natürlich noch anpassen.
cu
Chris
Anzeige
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 12:46:22
ChrisL
Oder so...
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
WHERE (Tabelle1.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0)
GROUP BY NiederlVerkn_;
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 13:08:40
Marcus
Hallo,
vielen Dank. Wir kommen der Sache näher :)
bei diesem:
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
GROUP BY NiederlVerkn_
WHERE (Tabelle1.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0);
kommt leider ein Syntaxfehler, da wohl ein Operator fehlt.
Hier:
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
WHERE (Clusterung_Untereinander.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0)
GROUP BY NiederlVerkn_;
Er rechnet zwar, aber irgendwie falsch. Scheinbar rechnet er mit den falschen Monaten. Der tatsächliche Mittelwert weicht leicht von korrekten Mittelwert ab.
WHERE (Clusterung_Untereinander.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0)
Kannst du mir kurz erklären was hier passiert.
Danke!!!
Anzeige
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 13:23:56
Marcus
Hallo,
vielen Dank. Wir kommen der Sache näher :)
bei diesem:
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
GROUP BY NiederlVerkn_
WHERE (Tabelle1.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0);
kommt leider ein Syntaxfehler, da wohl ein Operator fehlt.
Hier:
SELECT NiederlVerkn_, Avg(KPI) AS MWVonEintrag
FROM Clusterung_Untereinander
WHERE (Clusterung_Untereinander.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0)
GROUP BY NiederlVerkn_;
Er rechnet zwar, aber irgendwie falsch. Scheinbar rechnet er mit den falschen Monaten. Der tatsächliche Mittelwert weicht leicht von korrekten Mittelwert ab.
WHERE (Clusterung_Untereinander.Datum) Between DateSerial(Year(Date()), Month(Date()) - 6, 1)
AND DateSerial(Year(Date()), Month(Date()), 0)
Kannst du mir kurz erklären was hier passiert.
Danke!!!
Anzeige
AW: Access - Mittelwert mit Abhängigkeit zum Monat
18.05.2017 13:44:37
ChrisL
Hi Marcus
Da wir einfach nur die Datumsunter- und obergrenze definiert. Kannst du einfach testen z.B. in Excel Makro laufen lassen:
Sub t()
MsgBox DateSerial(Year(Date), Month(Date) - 6, 1)
MsgBox DateSerial(Year(Date), Month(Date), 0)
End Sub
Wenn du mal ohne Gruppierung testest, dann siehst du ob die richtigen Datensätze selektiert wurden.
cu
Chris

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige