Monday, 13 February 2017

Ms Zugriff Gleitende Durchschnittliche Abfrage

Avg Funktion Berechnet das arithmetische Mittel einer Menge von Werten, die in einem bestimmten Feld einer Abfrage enthalten sind. Der expr-Platzhalter repräsentiert einen Zeichenfolgenausdruck, der das Feld identifiziert, das die numerischen Daten enthält, die Sie durchschnittlich möchten, oder einen Ausdruck, der eine Berechnung unter Verwendung der Daten in diesem Feld ausführt. Operanden in expr können den Namen eines Tabellenfeldes, eine Konstante oder eine Funktion enthalten (die entweder intrinsisch oder benutzerdefiniert sein kann, aber nicht eine der anderen SQL-Aggregatfunktionen). Der durch Avg berechnete Durchschnitt ist das arithmetische Mittel (die Summe der Werte dividiert durch die Anzahl der Werte). Sie können die Verwendung von Avg. Um beispielsweise die durchschnittlichen Frachtkosten zu berechnen. Die Avg-Funktion enthält keine Null-Felder in der Berechnung. Sie können Avg in einem Abfrageausdruck und in der SQL-Eigenschaft eines QueryDef-Objekts oder beim Erstellen eines Recordset-Objekts basierend auf einer SQL-Abfrage verwenden. Ich habe eine Tabellenproduktion, die die folgende Struktur enthält: Ich habe Daten für jede Replikation von 112011 bis 812013 Was ich in der Lage zu tun ist, erstellen Sie einen 12 Monate gleitenden Durchschnitt Anfang 112012 für jeden Vertreter, wie folgt: wo jede Zeile den 12 Monate gleitenden Durchschnitt für die rep zu angegebenen Zeitpunkt darstellt. Ich fand einige Beispiele, die vage nahe waren und ich versuchte sie ohne Erfolg. Es scheint die Hinzufügung einer Gruppe durch rep-Komponente ist die große Abweichung von anderen Beispielen. Dies ist etwa so weit wie ich bekam: Diese Abfrage scheint einen Gesamtdurchschnitt oder Summe zu ziehen, da es keine Gruppierung in der korrelierten Unterabfrage gibt. Wenn ich versuche zu gruppieren, bekomme ich einen Fehler, dass es nur höchstens eine Zeile zurückkehren kann. Re: Verschieben von Mittelwert in Query Meinen Sie nur die neuesten vier Wochen Daten (so dass es jede Woche wandelt) Was sind die Daten in Ihrem YearWeek-Feld aussehen Ist es formatiert als Text Der Anzahl TIPPS FÜR FINDEN VON EXCEL-LÖSUNGEN 1. Verwenden Sie die integrierte Hilfe, die mit ExcelAccess geliefert wird. 2. Verwenden Sie die Suchfunktionalität auf diesem Board 3. Viel VBA-Code kann mit dem Makro Recorder erfasst werden. Geben Sie einem Mann einen Fisch, füttern Sie ihn für einen Tag. Lehren Sie einen Mann zu fischen, füttern ihn für das Leben Gerrit. B sagte: Mai 6th, 2012 05.31 Uhr Re: Moving Average in Abfrage Joe4, Nein, ich möchte den gleitenden Durchschnitt über 4 Wochen zu berechnen. Field YearWeek sieht aus wie 201201 für Woche 1 von 2012 und ist als Nummer formatiert. Re: Verschieben von Durchschnitt in Abfrage OK, unabhängig von Ihren Antworten auf die vorherigen Fragen, ich glaube, ich habe eine Lösung, die für jede Instanz funktionieren sollte. Zuerst habe ich eine benutzerdefinierte Funktion erstellt, die Ihre Wochennummer in eine Gesamtzahl von Wochen umwandelt. Es dauert das Jahr und multipliziert mit 52 und fügt dann die Monate in den letzten beiden Zahlenpositionen hinzu. Diese UDF sieht folgendermaßen aus: Es ist nicht notwendig, eine UDF zu verwenden, da Sie diese Formel direkt in Ihren Abfragen verwenden können, aber da ich sie wiederverwende, ist es oft einfacher und macht Ihre Formeln besser lesbar, es zu tun diesen Weg. Dann habe ich eine Abfrage erstellt, um die maximale YearWeek für jede AreaProduct ID-Kombination zu berechnen. Ich nur gruppiert auf die Bereich und Produkt-ID-Felder, und nahm den maximalen YearWeek-Wert (wenn Sie nicht vertraut mit Aggregate-Abfragen sind, empfehle ich sie in Access integrierte Hilfe-Dateien). Angenommen, ein Tabellenname von MyTable, hier ist, was der SQL-Code dieser Abfrage aussieht: Ich nannte diese Abfrage MyMaxQuery. Ich habe dann eine neue Abfrage, in der wir die ursprüngliche Tabelle (MyTable), um diese Abfrage auf den Bereich und Product ID Felder. Ich habe dann ein berechneten Feld namens Check erstellt, wobei ich überprüfen, ob das YearMonth-Feld größer oder gleich dem max YearWeek-Wert (aus der vorherigen Abfrage) minus 3. Wenn es ist, ich eine 1 zurückgeben, dann füge ich Kriterien hinzu Auf diese Abfrage, um nur die Werte gleich 1 zurückzugeben. Damit werden die Daten auf die letzten 4 Monate begrenzt. Nun, ich ändere diese Abfrage in eine Aggregate-Abfrage, und nehmen Sie den Durchschnitt der Menge zu bekommen, was Sie wollen. Der SQL-Code für diese Abfrage sieht wie folgt aus: TIPPS FÜR FINDEN VON EXCEL-LÖSUNGEN 1. Verwenden Sie die integrierte Hilfe, die mit ExcelAccess geliefert wird. 2. Verwenden Sie die Suchfunktionalität auf dieser Karte 3. Mit dem Makro-Recorder kann viel VBA-Code erfasst werden . Geben Sie einem Mann einen Fisch, füttern Sie ihn für einen Tag. Lehre einen Mann zu fischen, füttern ihn für das Leben


No comments:

Post a Comment