Home > Artikel > Ausgabe 6/2012 > Kreuztabellenabfragen nach Datum

Kreuztabellenabfragen nach Datum

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

Wenn Sie Kreuztabellenabfragen erstellen, die Daten nach dem Datum gruppieren, gibt es einige Besonderheiten gegenüber einfachen Kreuztabellenabfragen. Dazu gehört etwa die Festlegung der Datumsintervalle oder das Anpassen der Spaltenüberschriften. Außerdem zeigen wir in diesem Artikel, wie Sie in einer Kreuztabellenabfrage mit Parametern etwa zum Einschränken des betroffenen Zeitraums arbeiten.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1206_KreuztabellenabfragenDatum.mdb.

Kreuztabellenabfragen mit Datum als Spaltenkopf

Im Artikel Kreuztabellenabfragen haben wir Ihnen bereits die Grundlagen zur Erstellung von Kreuztabellenabfragen gezeigt. Dort haben Sie auch den Kreuztabellenassistenten kennengelernt, der einem für einfache Fälle die notwendigen Schritte zur Definition der Kreuztabelle abnimmt.

In diesem Beitrag starten wir wieder mit dem Kreuztabellenassistenten. Dieser setzt, wie Sie bereits wissen, eine Abfrage mit allen zu erfassenden Daten voraus. Sie können nicht erst im Assistenten mehrere Tabellen mit den benötigten Feldern zusammenfügen. Zu diesem Zweck haben wir die Abfrage aus Bild 1 vorbereitet. Diese enthält Daten aus den Tabellen tblPersonal, tblBestellungen und tblBestelldetails. Sie soll Informationen über die Umsätze der einzelnen Mitarbeiter nach dem Datum liefern. Dazu fügen Sie dem Entwurf die Felder PersonalID, das zusammengesetzte Feld Personal mit dem Ausdruck Nachname & ", " & Vorname, das Feld Umsatz mit dem Ausdruck Einzelpreis*Anzahl*(1-Rabatt) sowie das Feld Bestelldatum hinzu.

Umsätze nach Datum und Personal

Bild 1: Umsätze nach Datum und Personal

Mit dieser Abfrage starten Sie nun den Kreuztabellenassistenten. Die einzelnen Schritte haben wir bereits im oben erwähnten Artikel detailliert beschrieben. Wenn Sie jedoch im Dialog zur Auswahl der Spaltenköpfe das Feld Bestelldatum auswählen (siehe Bild 2), ergibt sich eine Änderung im Vergleich zum gewohnten Ablauf: Im folgenden Dialog fordert der Assistent Sie nämlich auf, das Intervall auszuwählen. Es stehen die folgenden Intervalle zur Verfügung: Jahr, Quartal, Monat, Datum und Datum/Zeit.

Auswahl des Feldes Datum

Bild 2: Auswahl des Feldes Datum

In diesem Beispiel wählen wir den Eintrag Monat aus. In der Vorschau zeigt der Assistent direkt an, wie die Spaltenüberschriften aussehen werden (siehe Bild 3). Nach dem Fertigstellen der Kreuztabellenabfrage ändern Sie gleich die Darstellung der Zahlenwerte, damit diese mit maximal zwei Nachkommastellen erscheinen. Dazu ändern Sie beispielsweise die Spalte Umsatz in den folgenden Ausdruck:

Festlegen des Datumsintervalls

Bild 3: Festlegen des Datumsintervalls

UmsatzFormatiert: Format([Umsatz];"Festkommazahl")

Das Ergebnis finden Sie in Bild 4 vor. Auf den ersten Blick sieht das Ergebnis gut aus. Allerdings zeigt die Abfrage nur zwölf Monate ohne Jahresangabe an. Das wäre noch kein Problem, wenn die Tabelle tblBestellungen nur Bestellungen eines einzigen Jahres enthielte – sie enthält aber Daten aus mehreren Jahren. Die Kreuztabellenabfrage fasst also einfach alle Daten der einzelnen Monate zusammen – ohne Rücksicht auf die Jahre.

Umsatz der einzelnen Mitarbeiter nach Monaten

Bild 4: Umsatz der einzelnen Mitarbeiter nach Monaten

Nach Jahren und Monaten gruppieren

Daraus resultieren zwei Aufgaben: Erstens sollen die Spaltenköpfe nicht nur den Monat anzeigen, sondern auch das Jahr, und zweitens müssen die Daten dementsprechend etwas feiner gruppiert werden. Dazu ist ein Blick in den Entwurf der Abfrage nötig. Für ein wenig mehr Flexibilität bauen wir die Abfrage neu auf. Dazu legen Sie eine neue Abfrage an, ziehen die Tabellen tblPersonal, tblBestellungen und tblBestelldetails in den Entwurf.

Ändern Sie den Abfragetyp mit dem Kontextmenüeintrag Abfrage­typ|Kreuz­tabellenabfrage. Ziehen Sie dann das Feld für den Zeilenkopf in das Entwurfsraster, nämlich PersonalID. Stellen Sie für dieses Feld den Wert der Zeile Kreuztabelle auf Zeilenüberschrift ein. Fügen Sie ein weiteres Feld als Zeilenüberschrift hinzu, das den folgenden Ausdruck enthält:

Personal: [Nachname] & ", " & [Vorname]

Das Bestelldatum integrieren Sie durch den folgenden Ausdruck in der Abfrage:

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!