Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Abfrage für Agregatfunktion inkl. null-werte
Gehe zu Seite 1, 2  Weiter
zurück: Übernahme von Teilstrings von vorangegangenen Datensatz weiter: Laufzeitfehler 3464 in Anfügeabfrage Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
redoretso
Gast


Verfasst am:
05. Dez 2013, 15:39
Rufname:

Abfrage für Agregatfunktion inkl. null-werte - Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Ich vermute, dass ich nicht der erste bin, der hiernach fragt. Allerdings habe ich es in der letzten Stunde nicht geschafft, die richtigen KeyWords für vernünftige Suchergebnisse zu generieren.

Zuerst ein bisschen Kontext, unten in bold die Kernfrage.

Ich möchte mir Umsätze pro Tag ausgeben lassen.

1.12. 5€
2.12. 0€
3.12. 10€
4.12. 80€
5.12. 0€
6.12. 100€

Das Problem sind die Tage an denen kein Umsatz generiert wurde. Die Daten kommen aus der "rechnungen" Datenbank. derzeit kann ich etwas in dieser Art ausgeben:

1.12. 5€
3.12. 10€
4.12. 80€
6.12. 100€

Die einzigen Vorschläge, die ich gefunden habe, ist eine Hilfstabelle anzulegen und auf diese zurückzugreifen.
Ich möchte aber lieber diese Tabelle innerhalb meines querys temporät generieren.

Das heisst, die eigentlich Abfrage, die ich brauche soll folgendes machen:

Gib mir eine Tabelle mit allen Daten zwischen Min(Datum) und Max(Datum) und jedes Datum in einer neuen Zeile.
KlausMz
Moderator Access


Verfasst am:
05. Dez 2013, 15:52
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo,
wie die Zieldaten aussehen sollen habe ich nicht verstanden.
Bitte erstelle mal ein paar Zeilen mit dem Wunschergebnis.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Gast



Verfasst am:
05. Dez 2013, 15:52
Rufname:

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Fehlende Elemente einer Menge "erzeugt" man sich mit Hilfe einer Hilfstabelle, die die vollständige Datenmenge bereitstellt, in diesem Fall also eine Kalendertabelle, die alle Tage fortlaufend enthält:
Code:
SELECT K.Kalendertag, IIf(U.Umsatz Is Null, 0, U.Umsatz) AS Umsatz
FROM Kalendertabelle AS K LEFT JOIN Umsatztabelle AS U
ON K.Kalendertag = U.Umsatztag
KlausMz
Moderator Access


Verfasst am:
05. Dez 2013, 15:54
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo,
Zitat:
wie die Zieldaten aussehen sollen habe ich nicht verstanden.
aber Gast hat es. Laughing
_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
redoretso
Gast


Verfasst am:
05. Dez 2013, 15:57
Rufname:


AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

@KlausMZ
Die Zieldaten sind folgende:
1.12. 5€
2.12. 0€
3.12. 10€
4.12. 80€
5.12. 0€
6.12. 100€

@gast:
Über die Lösung "Hilfstabelle" bin ich auch schon gestolpert. Die Lösung erschien/erscheint mir aber zu unschön. Bis wann trage ich denn dort Tage ein? Ich weiß ja noch nicht, bis wann meine Abfrage genutzt werden soll.
Gast



Verfasst am:
05. Dez 2013, 16:08
Rufname:

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Zitat:
Bis wann trage ich denn dort Tage ein?
Einfache Antwort: Für einen ausreichenden Zeitraum. Wie groß dieser konkret ist, ergibt sich aus der Aufgabe und deren Umfeld.
Es wäre also relevant, ob Du Umsätze aus 2 Jahren (2*365Tage) betrachtest oder einen Wetterkalender seit Christi Geburt aufstellen möchtest.

Zitat:
Die Lösung erschien/erscheint mir aber zu unschön.
Warum? Eine Tabelle ist in einer Datenbank und in einer Abfrage das Natürlichste und das zu Erwartende, selbstredend natürlicher als eine VBA-Sektion.
Dabei sollte man auch im Blick haben, dass vermutlich Deine Zieltabelle dann sicher wieder Ausgangspunkt für eine weitere Auswertung sein kann und wird, zu der man dann auch einfach und schnell kommen will.

Siehe auch SQL ist leicht (3) - Kalendertabelle
KlausMz
Moderator Access


Verfasst am:
05. Dez 2013, 16:08
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo,
Zitat:
Bis wann trage ich denn dort Tage ein?
Lege die Tabelle mal für einen ausreichenden Zeitraum an. Kannst diese ja bei Bedarf erweitern. Ob da 10 oder 20 Jahre drin sind spielt doch keine Rolle. Die Hilfstabelle ist die einfachste, schnellste und eleganteste Lösung.
_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
redoretso
Gast


Verfasst am:
05. Dez 2013, 16:14
Rufname:

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Vielen Dank euch zwei!
Ihr habt mich überzeugt. Ich war davon ausgegangen, dass ich alles in eine Abfrage gequetscht bekomme und das ganze so "schlanker" zu machen
kyron9000
Practitioner :)


Verfasst am:
05. Dez 2013, 19:33
Rufname:
Wohnort: Wien

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo,
mein Vorschlag wäre, nicht eine Tabelle für den Zeitraum sondern 3 Tabellen - Tag/Monat/Jahr
und diese werden nur mit einem DS in der Tabelle Jahr erweitert oder auch schon
vorgegeben und muss nicht immer ein komplettes Jahr in eine Tabelle eingefügt
werden, was ja auch mühsam werden kann und unnötig Platz benötigt.
Man kann dabei auch Teilbereiche des Jahres abfragen... Smile

_________________
Gruß Alfred...

Es ist nicht immer alles so einfach wie es sich im Moment darstellt...



Umsatz_V1.zip
 Beschreibung:

Download
 Dateiname:  Umsatz_V1.zip
 Dateigröße:  40.91 KB
 Heruntergeladen:  8 mal

Gast



Verfasst am:
05. Dez 2013, 19:52
Rufname:

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

@Alfred: Du solltest aber hinzufügen, dass die Lösung nur kleinmengentauglich ist.

Deine Felder bei der Verknüpfung sind nicht indiziert. Beim Umsatzdatum hast Du den Index vergessen, da hilft auch nicht ein doppelter Index auf das ID-Feld. Beim berechneten D ist ein Index gar nicht möglich. Eine Verknüpfung über nichtindizierte Felder ist dann bekanntlich nur begrenzt leistungsfähig.

Ein ganzes Jahr in Tagen muss kein großer Aufwand sein. es kann auch eine schlichte Abfrage sein, siehe SQL ist leicht (1) - Hilfstabellen
kyron9000
Practitioner :)


Verfasst am:
06. Dez 2013, 17:14
Rufname:
Wohnort: Wien

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo @Gast,

danke für deine Hinweise, habe sie auch schon so weit umgesetzt.
Alle Felder in tab_Jahr/Monat/Tag indiziert (ohne Duplikate)
In der Tabelle Umsatz das Datum indiziert (mit Duplikate)

Zu deiner T999 Version... ich habe sie zum laufen gebracht und etwas umgebaut.
War ja nicht mal so einfach drauf zu kommen, wie diese Abfrage funktioniert Smile

Habe noch eine Jahrestabelle in die Abfrage eingefügt usw. bringt jetzt auch alle Daten wie bei meiner Version.

Man könnte natürlich immer nur das Jahr abfragen, dass gewünscht wird,
aber was wenn der Zeitraum über ein Jahr geht.

Nun hätte ich noch eine Frage und zwar, was ist der Unterschied zwischen deiner und meiner
Version ausser 1 Tabelle zu 3 Tabellen (Datensätze sind ja in meiner Version weniger),
aber der Effekt ist doch der gleiche, oder nicht?!

Vielen Dank für deine Hilfe, sehr freundlich!

PS: den Monatskalender aus deinem Link habe ich mir jetzt auch angesehen.
Ist wirklich toll, was man alles aus einer einzigen Tabelle erstellen kann Smile.
Habe den MO noch sortiert...
Code:
ORDER BY Max(IIf(Z.TW=1,Z.TM));

...so sind die Tage untereinander.

_________________
Gruß Alfred...

Es ist nicht immer alles so einfach wie es sich im Moment darstellt...
KlausMz
Moderator Access


Verfasst am:
06. Dez 2013, 19:54
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo,
Zitat:
Nun hätte ich noch eine Frage und zwar, was ist der Unterschied zwischen deiner und meiner Version ausser 1 Tabelle zu 3 Tabellen
ein Unterschied fällt mir gerade ein. Soche Hilfstabellen werden auch mal als Feiertagskalender benötigt, wie willst Du bei Deiner Version Feiertage (oder Wochenenden) kenntlich machen?

Stelle Dir mal vor, es sollen im vorliegenden Fall keine Wochenenden berücksichtigt werden.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Gast



Verfasst am:
06. Dez 2013, 21:06
Rufname:

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Zitat:
was ist der Unterschied zwischen deiner und meiner Version
Den hatte ich doch schon genannt.

Probiere die Abfrage(n) mal mit richtigen Datenmengen, z.B. jeweils die Umsätze aus zwei Jahren von 500 Artikeln (=> 2*365*500 = 365.000 Datensätze). Je nach Datenmenge bei den Umsätzen wirst Du etwas merken.

Und dann die Weiterverarbeitung. Führe auf das Datumsfeld eine weitere Operation aus, z.B. das Sortieren in absteigender Reihenfolge.

Der Hinweis von Klaus ist dann zusätzlich berechtigt: Die Hinzuverknüpfung von datumsrelevanten Daten wie Feiertage, Ferien, von Kalenderjahr abweichendes Geschäftsjahr, Werkskalender wird möglich.
Hier könnte man sich Einträge direkt in der Kalendertabelle denken. Wenn man aber etwas weiter denken darf und berücksichtigen muss, dass z.B. Feiertage und ferien von Land zu Land und von Bundesland zu Bundesland unterschiedlich sind, hätte man für diese einige weitere Tabellen zu führen und mit den Kalenderdaten zu verknüpfen.
kyron9000
Practitioner :)


Verfasst am:
06. Dez 2013, 22:31
Rufname:
Wohnort: Wien

AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo,

@Klaus,
danke für deine Antwort, aber verstehe sie jetzt mal gar nicht.
Ich habe alles was nur möglich ist in meiner Abfrage tmp_Datum.
Es ist ein leichtes, Arbeitstage von SAM/SON und FT auseinander zu halten.
Was ich in der V_T999 noch nicht feststellen konnte, das es schon vorhanden ist.
Was aber möglich ist darzustellen!
@Gast,
danke auch für deine Antwort.
Ist schon leicht möglich, dass es bemerkbar bei dieser DS-Menge in der Performance bemerkbar wird.
Diese 500 Artikeln (=> 2*365*500 = 365.000 Datensätze) habe ich iM leider nicht zur Verfügung,
kann das also nicht nachvollziehen.
Feiertage von BL zu BL ist schon eine Überlegung wert, da habe ich jetzt noch
nicht darüber nachgedacht, was aber auch kein gr. Problem darstellen wird.
Ich muss ja nicht alles in einer Tabelle zur Verfügung stellen.
Ich kann die Abfrage abändern, dass es gewählten Anforderungen entspricht.
Ich habe ein Jahr komplett und T999 ist auch ein Jahr komplett.
Na ja, ich werde darüber nachdenken.

Aber, dennoch ist es schon sehr bewundernswert, dass aus dieser Tabelle T999 ein Jahr aufzustellen ist,
hat mich schon sehr überzeugt.

Schönen Abend wünsche ich noch!

_________________
Gruß Alfred...

Es ist nicht immer alles so einfach wie es sich im Moment darstellt...
KlausMz
Moderator Access


Verfasst am:
07. Dez 2013, 00:23
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Abfrage für Agregatfunktion inkl. null-werte - AW: Abfrage für Agregatfunktion inkl. null-werte

Nach oben
       Version: Office365

Hallo Alfred,
ich hätte mir Deine DB gerne angesehen, aber ich habe leider nur Access2003, kann daher die DB nicht ansehen.

Es ist ohnehin sinnvoll, Beispieldbs in Access2000/2003 als MDB hier einzustellen.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage Rechnet simple addieren formel nicht 3 Seppi 1597 04. März 2004, 13:39
Willi Wipp Abfrage Rechnet simple addieren formel nicht
Keine neuen Beiträge Access Tabellen & Abfragen: Filter bei Abfrage 3 tivi 701 03. März 2004, 15:06
tivi Filter bei Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: [DANKE-ERLEDIGT] Join in einer Abfrage 2 Gast 803 01. März 2004, 08:36
ppc [DANKE-ERLEDIGT] Join in einer Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich mehr als 255Felder in eine Abfrage legen? 1 D.R. 2235 12. Feb 2004, 09:05
faßnacht(IT); Wie kann ich mehr als 255Felder in eine Abfrage legen?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage verlinken 4 dfo 1326 10. Feb 2004, 22:17
Willi Wipp Abfrage verlinken
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht 1 caro456 1832 27. Jan 2004, 20:03
Willi Wipp Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage von Datensätzen ohne Inhalt 3 sebwa 2053 23. Jan 2004, 23:19
Gast Abfrage von Datensätzen ohne Inhalt
Keine neuen Beiträge Access Tabellen & Abfragen: Access abfrage nach 2 parametern 1 Weedy 3466 13. Jan 2004, 00:21
reke Access abfrage nach 2 parametern
Keine neuen Beiträge Access Tabellen & Abfragen: Access 97 Abfrage Duplikate 9 gast 2419 02. Dez 2003, 14:39
Kay Access 97 Abfrage Duplikate
Keine neuen Beiträge Access Tabellen & Abfragen: SQL Abfrage mit VBA 3 daMike 1729 26. Nov 2003, 17:58
daMike SQL Abfrage mit VBA
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit Spalte zur Durchnummerierung 2 Hanno 921 20. Nov 2003, 12:18
Hanno Abfrage mit Spalte zur Durchnummerierung
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editor Forum