| | Produktinformationen Hilfe und Anleitungen Schulung Vorlagen Support und Feedback Technische Ressourcen Zusätzliche Ressourcen |
Verbessern der Lesbarkeit von Zusammenfassungsdaten mithilfe einer Kreuztabellenabfrage
Wenn Sie Zusammenfassungsdaten neu strukturieren möchten, um ihre Lesbarkeit und Verständlichkeit zu erhöhen, sollten Sie den Einsatz einer Kreuztabellenabfrage in Erwägung ziehen.
Kreuztabellenabfragen berechnen eine Summe, einen Mittelwert oder eine andere Aggregatfunktion (Aggregatfunktion: Eine Funktion, z. B. "Summe", "Anzahl", "Mittelwert" oder "Varianz", die Sie zum Berechnen von Gesamtsummen verwenden.), und gruppieren die Ergebnisse nach zwei Wertesätzen: entlang der Seite des Datenblatts und entlang des oberen Rands.
Inhalt dieses Artikels
Übersicht
Bei einer Kreuztabellenabfrage handelt es sich um eine bestimmte Art einer Auswahlabfrage (Auswahlabfrage: Eine Abfrage zu den in Ihren Tabellen gespeicherten Daten, die ein Resultset in Form eines Datenblattes zurückgibt, ohne die Daten zu ändern.). Nachdem eine Kreuztabellenabfrage ausgeführt wurde, werden die Ergebnisse in einem Datenblatt angezeigt, dessen Struktur sich von anderen Arten von Datenblättern unterscheidet.
Durch die Struktur einer Kreuztabellenabfrage kann die Lesbarkeit gegenüber einer einfachen Auswahlabfrage, die dieselben Daten anzeigt, erhöht werden. Dies wird in der folgenden Abbildung veranschaulicht.

 Bei einer Auswahlabfrage werden zusammenfassende Daten vertikal nach Mitarbeiter und Kategorie gruppiert.
 Eine Kreuztabellenabfrage kann dieselben Daten anzeigen. Die Daten werden jedoch sowohl horizontal als auch vertikal gruppiert. Auf diese Weise ergibt sich ein kompakteres Datenblatt, das einfacher zu lesen ist.
Erstellen von Kreuztabellenabfragen
Beim Erstellen einer Kreuztabellenabfrage geben Sie an, welche Felder Zeilenüberschriften und welche Spaltenüberschriften enthalten sollen und welches Feld Werte enthält, die zusammengefasst werden sollen. Für Spaltenüberschriften und zusammenzufassende Werte kann nur jeweils ein einziges Feld verwendet werden, während Sie zur Angabe von Zeilenüberschriften drei Felder verwenden können.
Tipp Zeilenüberschriften, Spaltenüberschriften und zusammenzufassende Werte können auch mithilfe von Ausdrücken erstellt werden.
  Eine, zwei oder drei Spalten auf dieser Seite enthalten Zeilenüberschriften. Die Namen der Felder, die als Zeilenüberschriften verwendet werden, werden in der obersten Zeile dieser Spalten angezeigt.
 Hier werden die Zeilenüberschriften angezeigt. Die Anzahl der Zeilen im Kreuztabellendatenblatt kann schnell anwachsen, wenn Sie mehrere Felder für Zeilenüberschriften verwenden, da jede Kombination von Zeilenüberschriften angezeigt wird.
 Die Spalten auf dieser Seite enthalten Spaltenüberschriften und Zusammenfassungswerte. Beachten Sie, dass der Name des Spaltenüberschriftsfelds in dem Datenblatt nicht angezeigt wird.
 Hier werden Zusammenfassungswerte angezeigt.
Verfahren zum Erstellen einer Kreuztabellenabfrage
Verwenden des Kreuztabellen-Abfrageassistenten Mit diesem Assistenten lässt sich eine Kreuztabellenabfrage in der Regel am schnellsten und einfachsten erstellen. Der Assistent übernimmt die meiste Arbeit für Sie. Es gibt jedoch ein paar Optionen, die der Assistent nicht bietet.
Der Assistent bietet folgende Vorteile:
- Die Arbeit mit dem Assistenten ist unkompliziert. Starten Sie einfach den Assistenten, und beantworten Sie dann die Fragen, durch die der Assistent Sie führt.
- Er kann Daten automatisch in Intervalle gruppieren. Wenn Sie für Spaltenüberschriften ein Feld verwenden, das Datums-/Uhrzeitdaten enthält, hilft Ihnen der Assistent dabei, die Daten in Intervalle, wie zum Beispiel Monate oder Quartale, zu gruppieren.
Tipp Wenn Sie Werte aus einem Feld vom Typ "Datum/Uhrzeit" für Spaltenüberschriften verwenden möchten, die Daten jedoch in Intervalle gruppieren möchten, die der Assistent nicht zur Verfügung stellt (zum Beispiel Geschäftsjahr oder Zweijahreszeitraum), sollten Sie die Abfrage nicht mit dem Assistenten erstellen. Erstellen Sie die Kreuztabellenabfrage stattdessen in der Entwurfsansicht, und verwenden Sie zum Erstellen der Intervalle einen Ausdruck.
- Er kann als Ausgangspunkt verwendet werden. Sie können den Assistenten nutzen, um die gewünschte Basis-Kreuztabellenabfrage zu erstellen und den Entwurf dann in der Entwurfsansicht optimieren.
Folgende Aktionen können Sie mit dem Assistenten jedoch nicht durchführen:
- Verwenden mehrerer Tabellen oder Abfragen als Datensatzquelle (Datenherkunft: Die zugrunde liegende Quelle der Daten für ein Formular, einen Bericht oder eine Datenzugriffsseite. In einer Access-Datenbank kann es sich hierbei um eine Tabelle, eine Abfrage oder eine SQL-Anweisung handeln. In einem Access-Projekt kann die Datenherkunft eine Tabelle, eine Ansicht, eine SQL-Anweisung oder eine gespeicherte Prozedur sein.)
- Verwenden eines Ausdrucks (Ausdruck: Eine beliebige Kombination aus mathematischen oder logischen Operatoren, Konstanten, Funktionen sowie Namen von Feldern, Steuerelementen und Eigenschaften, die einen einzigen Wert ergibt. Mithilfe von Ausdrücken können Berechnungen ausgeführt, Zeichen bearbeitet oder Daten getestet werden.) zum Erstellen von Feldern
- Hinzufügen einer Aufforderung zur Eingabe eines Parameters (Parameterabfrage: Eine Abfrage, in der der Benutzer interaktiv einen oder mehrere Kriterienwerte angibt. Eine Parameterabfrage ist kein eigener Abfragetyp, sondern sie erweitert die Flexibilität von Abfragen.)
- Angeben einer Liste fester Werte, die als Spaltenüberschriften zu verwenden sind
Hinweis Im letzten Schritt des Assistenten können Sie auswählen, dass die Abfrage in der Entwurfsansicht geändert wird. Auf diese Weise können Sie der Abfrage Entwurfselemente hinzufügen, die der Assistent nicht unterstützt (zum Beispiel zusätzliche Datensatzquellen).
Arbeiten in der Entwurfsansicht Die Entwurfsansicht bietet Ihnen größere Kontrolle über Ihren Abfrageentwurf. Sie unterstützt Features, die in dem Assistenten nicht zur Verfügung stehen.
Wenn Folgendes zutrifft, sollten Sie erwägen, eine Kreuztabellenabfrage in der Entwurfsansicht zu erstellen:
Erstellen einer Abfrage in der SQL-Ansicht Sie können Kreuztabellenabfragen auch in der SQL-Ansicht erstellen, falls Sie dies bevorzugen. In der SQL-Ansicht können Sie jedoch keine Parameterdatentypen angeben. Falls Sie in der Kreuztabellenabfrage einen Parameter verwenden möchten, müssen Sie den Parameterdatentyp angeben, indem Sie Ihre Abfrage in der Entwurfsansicht bearbeiten.
Tipp Beachten Sie Folgendes: Sie müssen nicht nur ein einziges Verfahren zum Erstellen einer Kreuztabellenabfrage nutzen. Sie können beispielsweise auch die Abfrage im Assistenten erstellen und den Abfrageentwurf anschließend in der Entwurfsansicht ändern.
Seitenanfang
Erstellen einer Kreuztabellenabfrage
Erstellen einer Kreuztabellenabfrage mit dem Kreuztabellen-Abfrageassistenten
Wenn Sie den Kreuztabellen-Abfrageassistenten nutzen, müssen Sie eine einzelne Tabelle oder Abfrage als Datensatzquelle für die Kreuztabellenabfrage verwenden. Falls eine einzelne Tabelle nicht alle Daten enthält, die Sie in der Kreuztabellenabfrage berücksichtigen möchten, erstellen Sie zunächst eine Auswahlabfrage, die die gewünschten Daten zurückgibt. Weitere Informationen zum Erstellen einer Auswahlabfrage finden Sie im Abschnitt Siehe auch.
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrage-Assistent.
- Klicken Sie im Dialogfeld Neue Abfrage auf Kreuztabellen-Abfrageassistent und dann auf OK.
Der Kreuztabellen-Abfrageassistent wird aufgerufen.
- Wählen Sie auf der ersten Seite des Assistenten die Tabelle oder Abfrage aus, anhand derer Sie eine Kreuztabellenabfrage erstellen möchten.
- Wählen Sie auf der nächsten Seite das Feld aus, das die Werte enthält, die als Zeilenüberschriften verwendet werden sollen.
Sie können maximal drei Felder auswählen, die als Quellen für Zeilenüberschriften fungieren sollen. Je weniger Zeilenüberschriften Sie jedoch verwenden, um so einfacher lesbar ist das Kreuztabellendatenblatt.
Hinweis Falls Sie mehrere Felder zum Bereitstellen von Zeilenüberschriften auswählen, bestimmt die Reihenfolge, in der Sie die Felder auswählen, die Standardreihenfolge, in der die Ergebnisse sortiert werden.
- Wählen Sie auf der nächsten Seite das Feld aus, das die Werte enthält, die als Spaltenüberschriften verwendet werden sollen.
Grundsätzlich sollten Sie ein Feld auswählen, das nur wenige Werte enthält, um eine gute Lesbarkeit der Ergebnisse zu gewährleisten. So ist beispielsweise ein Feld mit nur wenigen möglichen Werten (zum Beispiel das Geschlecht) unter Umständen einem Feld vorzuziehen, das viele unterschiedliche Werte enthalten kann (zum Beispiel das Alter).
Falls das Feld, das Sie für Spaltenüberschriften gewählt haben, den Datentyp "Datum/Uhrzeit" aufweist, enthält der Assistent einen zusätzlichen Schritt, in dem Sie angeben können, wie die Daten in Intervalle (zum Beispiel Monate oder Quartale) gruppiert werden können.
- Wenn Sie ein Feld vom Typ "Datum/Uhrzeit" für Spaltenüberschriften ausgewählt haben, werden Sie auf der nächsten Seite des Assistenten zur Angabe des Intervalls aufgefordert, in dem die Datumswerte gruppiert werden sollen. Sie können Jahr, Quartal, Monat, Datum oder Datum/Uhrzeit angeben. Wenn Sie kein Feld vom Typ "Datum/Uhrzeit" für Spaltenüberschriften gewählt haben, wird diese Seite des Assistenten übersprungen.
- Wählen Sie auf der nächsten Seite ein Feld und eine Funktion aus, um die Zusammenfassungswerte zu berechnen. Der Datentyp (Felddatentyp: Eine Eigenschaft eines Felds, die bestimmt, welche Art von Daten gespeichert werden können. Ein Feld mit dem Datentyp "Text" kann beispielsweise Text oder Ziffern speichern, ein Feld mit dem Datentyp "Zahl" kann hingegen nur numerische Daten speichern.) des ausgewählten Felds bestimmt, welche Funktionen verfügbar sind.
- Aktivieren oder deaktivieren Sie auf derselben Seite das Kontrollkästchen Gesamtsumme jeder Zeile berechnen, um Zeilensummen ein- oder auszuschließen.
Falls Zeilensummen berechnet werden, weist die Kreuztabellenabfrage eine zusätzliche Zeilenüberschrift auf, für die dasselbe Feld und dieselbe Funktion wie für den Feldwert verwendet wird. Bei Berechnung einer Zeilensumme wird eine zusätzliche Spalte eingefügt, in der die übrigen Spalten zusammengefasst sind. Wird mit der Kreuztabellenabfrage beispielsweise ein Durchschnittsalter nach Ort und Geschlecht errechnet (mit Spaltenüberschriften nach Geschlecht), wird in der zusätzlichen Spalte das Durchschnittsalter nach Ort für alle Geschlechter ermittelt. Hinweis Die Funktion, mit der Zeilensummen berechnet werden, können Sie ändern, indem Sie die Kreuztabellenabfrage in der Entwurfsansicht bearbeiten.
- Geben Sie auf der nächsten Seite des Assistenten einen Namen für die Abfrage ein, und geben Sie dann an, ob Sie die Ergebnisse anzeigen oder den Abfrageentwurf ändern möchten.
Seitenanfang
Erstellen einer Kreuztabellenabfrage in der Entwurfsansicht
Wenn Sie eine Kreuztabellenabfrage in der Entwurfsansicht erstellen, können Sie so viele Datensatzquellen (Tabellen und Abfragen) verwenden, wie Sie möchten. Sie können jedoch für eine einfache Struktur des Entwurfs sorgen, indem Sie zunächst eine Auswahlabfrage erstellen, die alle gewünschten Daten zurückgibt, und diese Abfrage dann als einzige Datensatzquelle für die Kreuztabellenabfrage verwenden. Weitere Informationen zum Erstellen einer Auswahlabfrage finden Sie im Abschnitt Siehe auch.
Beim Erstellen einer Kreuztabellenabfrage in der Entwurfsansicht geben Sie in den Zeilen Summe und Kreuztabelle im Entwurfsbereich an, aus welchem Feld die Werte zu Spaltenüberschriften, zu Zeilenüberschriften und zu einer Summe, einem Mittelwert oder einer Anzahl werden oder anderweitig berechnet werden.

 Die Einstellungen in diesen Zeilen bestimmen, ob es sich bei dem Feld um eine Zeilenüberschrift, eine Spaltenüberschrift oder einen Zusammenfassungswert handelt.
 Mit dieser Einstellung werden die Werte des Felds als Zeilenüberschriften angezeigt.
 Mit dieser Einstellung werden die Werte des Felds als Spaltenüberschriften angezeigt.
 Mit diesen Einstellungen werden die Zusammenfassungswerte erstellt.
Erstellen der Abfrage
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
- Doppelklicken Sie im Dialogfeld Tabelle anzeigen auf jede Tabelle oder Abfrage, die Sie als Datensatzquelle verwenden möchten.
Wenn mehrere Datensatzquellen verwendet werden, müssen Sie sicherstellen, dass die Tabellen oder Abfragen über gemeinsame Felder verknüpft (Verknüpfung: Eine Verbindung zwischen einem Feld in einer Tabelle oder Abfrage und einem Feld desselben Datentyps in einer anderen Tabelle oder Abfrage. Durch Verknüpfungen können Programme erkennen, auf welche Weise Daten zueinander in Beziehung stehen. Je nach Art der Verknüpfung können nicht übereinstimmende Datensätze ein- oder ausgeschlossen werden.) sind. Weitere Informationen zum Verknüpfen von Tabellen und Abfragen finden Sie im Abschnitt Siehe auch.
- Schließen Sie das Dialogfeld Tabelle anzeigen.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Kreuztabelle.
- Doppelklicken Sie im Abfrageentwurfsfenster auf jedes Feld, das Sie als Quelle für Zeilenüberschriften verwenden möchten. Für Zeilenüberschriften können Sie maximal drei Felder auswählen.
- Wählen Sie im Abfrageentwurfsbereich in der Zeile Kreuztabelle für jedes Zeilenüberschriftsfeld Zeilenüberschrift aus.
Sie können in der Zeile Kriterien einen Ausdruck eingeben, um die Ergebnisse für dieses Feld einzuschränken. Darüber hinaus können Sie mithilfe der Zeile Sortieren eine Sortierreihenfolge für ein Feld angeben.
- Doppelklicken Sie im Abfrageentwurfsfenster auf das Feld, das Sie als Quelle für Spaltenüberschriften verwenden möchten. Für Spaltenüberschriften können Sie nur ein einziges Feld auswählen.
- Wählen Sie im Abfrageentwurfsbereich in der Zeile Kreuztabelle für das Spaltenüberschriftsfeld Spaltenüberschrift aus.
In der Zeile Kriterien können Sie einen Ausdruck eingeben, um die Ergebnisse für das Spaltenüberschriftsfeld einzuschränken. Durch die Verwendung eines Kriterienausdrucks zusammen mit dem Spaltenüberschriftsfeld wird jedoch die Anzahl der Spalten, die von der Kreuztabellenabfrage zurückgegeben werden, nicht eingeschränkt. Stattdessen wird eingeschränkt, welche Spalten Daten enthalten. Angenommen, für ein Spaltenüberschriftsfeld sind drei Werte möglich: rot, grün und blau. Wenn Sie das Kriterium ='blau' auf das Spaltenüberschriftsfeld anwenden, wird in der Kreuztabelle jedoch weiterhin eine Spalte für den Wert "grün" und eine für den Wert "rot" angezeigt. Nur die Spalte für den Wert "blau" enthält jedoch Daten. Hinweis Wenn Sie die Werte einschränken möchten, die als Spaltenüberschriften angezeigt werden, können Sie mit der Eigenschaft Fixierte Spaltenüberschriften der Abfrage eine Liste fester Werte angeben. Weitere Informationen finden Sie unter Angeben fester Werte für Spaltenüberschriften.
- Doppelklicken Sie im Abfrageentwurfsfenster auf das Feld, das Sie zur Berechnung von Zusammenfassungswerten verwenden möchten. Für Zusammenfassungswerte können Sie nur ein einziges Feld auswählen.
- Wählen Sie im Abfrageentwurfsbereich in der Zeile Summe für das Zusammenfassungswertefeld eine Aggregatfunktion für die Berechnung der Werte aus.
- Wählen Sie in der Zeile Kreuztabelle für das Zusammenfassungswertefeld Wert aus.
Sie können keine Kriterien für ein Zusammenfassungswertefeld angeben und nicht nach einem solchen Feld sortieren.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Angeben fester Werte für Spaltenüberschriften
Wenn Sie für Spaltenüberschriften feste Werte angeben möchten, können Sie die Eigenschaft Fixierte Spaltenüberschriften der Abfrage festlegen.
- Öffnen Sie die Kreuztabellenabfrage in der Entwurfsansicht.
- Wenn das Eigenschaftenblatt nicht sichtbar ist, drücken Sie F4, um es anzuzeigen.
- Stellen Sie im Eigenschaftenblatt direkt über der Registerkarte Allgemein sicher, dass als Auswahltyp der Typ Abfrageeigenschaften festgelegt ist. Klicken Sie andernfalls auf eine leere Stelle über dem Abfrageentwurfsbereich.
- Geben Sie im Eigenschaftenblatt auf der Registerkarte Allgemein in der Eigenschaft Fixierte Spaltenüberschriften eine kommagetrennte Liste der Werte ein, die Sie als Spaltenüberschriften verwenden möchten.
Hinweis Einige Zeichen (wie zum Beispiel die meisten Satzzeichen) sind in Spaltenüberschriften nicht zulässig. Wenn Sie diese Zeichen in der Liste der Werte verwenden, ersetzt Access jedes dieser Zeichen durch einen Unterstrich (_).
Seitenanfang
Erstellen einer Kreuztabellenabfrage in der SQL-Ansicht
SQL-Syntax für eine Kreuztabellenabfrage
Eine Kreuztabellenabfrage wird in SQL als TRANSFORM-Anweisung ausgedrückt. Für eine TRANSFORM-Anweisung gilt die folgende Syntax:
TRANSFORM aggfunction
selectstatement PIVOT pivotfield [IN (value1[, value2[, ...]])]
Die TRANSFORM-Anweisung hat folgende Bestandteile:
In der SQL-Ansicht ist die Anzahl der Tabellen oder Abfragen, die als Datensatzquellen für eine Kreuztabellenabfrage verwendet werden können, nicht begrenzt. Sie können die Struktur des Entwurfs jedoch einfach halten, indem Sie eine Auswahlabfrage erstellen, die alle Daten zurückgibt, die Sie in der Kreuztabellenabfrage verwenden möchten, und diese Auswahlabfrage dann als Datensatzquelle verwenden. Weitere Informationen zum Erstellen einer Auswahlabfrage finden Sie im Abschnitt Siehe auch.
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
- Schließen Sie das Dialogfeld Tabelle anzeigen.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Sichten auf Anzeigen und dann auf SQL-Ansicht.
- Geben oder fügen Sie auf der Registerkarte SQL-Objekt die folgende SQL-Syntax ein:
TRANSFORM
SELECT
FROM
GROUP BY
PIVOT
;
- Geben Sie in der ersten Zeile hinter TRANSFORM einen Ausdruck ein, mit dem die Zusammenfassungswerte berechnet werden sollen. Beispiel: Sum([Amount]).
Hinweis Wenn Sie mehrere Tabellen oder Abfragen als Datensatzquellen verwenden, fügen Sie den Tabellen- oder den Abfragenamen als Teil jedes Feldnamens ein. Beispiel: Sum([Expense].[Amount]).
- Geben Sie in der zweiten Zeile hinter SELECT eine Liste der Felder oder Feldausdrücke ein, die Sie für Zeilenüberschriften verwenden möchten. Trennen Sie die Listeeinträge durch Kommas. Beispiel: [Budget].[Dept_ID], [Expense].[Type].
- Geben Sie in der dritten Zeile hinter FROM eine Liste der Tabellen oder Abfragen ein, die Sie als Datensatzquellen verwenden. Beispiel: Budget, Expense.
- Geben Sie in der vierten Zeile hinter GROUP BY dieselbe Liste mit Feldern ein, die Sie in der SELECT-Klausel in Schritt 6 angegeben haben.
- Geben Sie in der fünften Zeile hinter PIVOT einen Feldnamen oder einen Ausdruck ein, den Sie für Spaltenüberschriften verwenden möchten. Beispiel: PIVOT [Budget].[Year].
Hinzufügen einer Sortierreihenfolge zu einem Zeilenüberschriftsfeld
Verwenden Sie eine ORDER BY-Klausel, um einer Kreuztabellenabfrage in der SQL-Ansicht eine Sortierreihenfolge hinzuzufügen.
- Fügen Sie zwischen der GROUP BY-Klausel und der PIVOT-Klausel eine Zeile ein.
- Geben Sie in der neuen Zeile ORDER BY gefolgt von einem Leerzeichen ein.
- Geben Sie den Feldnamen oder Ausdruck ein, nach dem Sie sortieren möchten. Beispiel: ORDER BY [Expense].[Expense_Class]
Standardmäßig sortiert eine ORDER BY-Klausel Werte in aufsteigender Reihenfolge. Wenn die Sortierung in absteigender Reihenfolge durchgeführt werden soll, geben Sie nach dem Feldnamen oder dem Ausdruck DESC ein.
- Wenn nach einem weiteren Feld oder Ausdruck sortiert werden soll, geben Sie ein Komma und anschließend den zusätzlichen Feldnamen oder Ausdruck ein. Die Sortierung wird in der Reihenfolge durchgeführt, in der Felder oder Ausdrücke in der ORDER BY-Klausel angezeigt werden.
Einschränken der für Zeilen- oder Spaltenüberschriften verwendeten Werte
Mit den folgenden Verfahren können Sie eine Liste mit Werten angeben, die als Spaltenüberschriften verwendet werden sollen, und den Zeilenüberschriftsfeldern Kriterien hinzufügen. Bei diesen Verfahren wird davon ausgegangen, dass eine Kreuztabellenabfrage in der SQL-Ansicht geöffnet ist.
Angeben fester Werte, die als Spaltenüberschriften zu verwenden sind
- Geben Sie am Ende der PIVOT-Klausel IN ein, gefolgt von einer kommagetrennten Liste mit (in Klammern eingeschlossenen) Werten, die als Spaltenüberschriften verwendet werden sollen. Beispiel: Mit IN (2007, 2008, 2009, 2010) werden die folgenden vier Spaltenüberschriften erstellt: 2007, 2008, 2009, 2010.
Hinweis Wenn Sie einen festen Wert eingeben, der keinem Feldwert aus dem Pivotfeld entspricht, wird dieser feste Wert zu einer Spaltenüberschrift für eine leere Spalte.
Hinzufügen von Abfragekriterien zum Einschränken von Zeilenüberschriften
- Fügen Sie nach der FROM-Klausel eine neue Zeile ein.
- Geben Sie WHERE gefolgt von einem Feldkriterium ein.
Wenn Sie weitere Kriterien angeben möchten, können Sie die WHERE-Klausel mit den Operatoren AND und OR erweitern. Darüber hinaus können Sie die Kriterien mithilfe von Klammern in logischen Sätzen gruppieren.
Seitenanfang
Verwenden von Bereichen oder Intervallen für Überschriften
Statt jeden Wert eines Felds für Zeilen- oder Spaltenüberschriften zu verwenden, kann es manchmal vorkommen, dass Sie die Werte eines Felds in Bereiche gruppieren möchten, die Sie dann für Zeilen- oder Spaltenüberschriften verwenden. Angenommen, Sie verwenden das Feld "Age" für Spaltenüberschriften. Anstatt nun für jedes Alter eine eigene Spalte zu verwenden, ziehen Sie es möglicherweise vor, Spalten zu verwenden, die verschiedene Altersgruppen repräsentieren.
Mit der IIf-Funktion in einem Ausdruck können Sie Bereiche für Zeilen- oder Spaltenüberschriften erstellen.
Tipp Wenn Sie Intervalle mit einem Feld vom Typ "Datum/Uhrzeit" erstellen möchten, sollten Sie erwägen, hierfür den Kreuztabellen-Abfrageassistenten zu nutzen. Mit dem Assistenten können Sie Datumswerte in die Intervalle Jahr, Quartal, Monat, Datum oder Datum/Uhrzeit gruppieren. Wenn keines dieser Intervalle Ihren Vorstellungen entspricht, sollten Sie die Kreuztabellenabfrage in der Entwurfsansicht erstellen und die gewünschten Intervalle anschließend mit den in diesem Abschnitt erläuterten Verfahren erstellen.
Funktionsweise von IIf
Die Funktion IIf wertet einen Ausdruck aus, und gibt dann einen Wert zurück, wenn der Ausdruck wahr ist, oder einen Alternativwert, wenn der Ausdruck falsch ist. Sie können IIf-Anweisungen schachteln, um eine logische Folge von Vergleichen zu erstellen. Daher können Sie IIf nutzen, um nummerische Feldwerte in Bereiche aufzuteilen.
Syntax der IIf-Funktion
IIf(expr,
truepart,
falsepart)
Die Syntax der Funktion IIf weist die folgenden Argumente (Argument: Ein Wert, der Informationen zu einer Aktion, einem Ereignis, einer Methode, einer Eigenschaft, einer Funktion oder einer Prozedur bereitstellt.) auf:
| Argument |
Beschreibung |
| expr |
Erforderlich. Der auszuwertende Ausdruck. |
| truepart |
Erforderlich. Der Wert oder Ausdruck, der zurückgegeben wird, wenn expr = True. |
| falsepart |
Erforderlich. Der Wert oder Ausdruck, der zurückgegeben wird, wenn expr = False. |
Erstellen von Bereichen mithilfe von Ausdrücken
- Öffnen Sie die Kreuztabellenabfrage in der Entwurfsansicht.
- Klicken Sie im Abfrageentwurfsbereich in der Zeile Feld mit der rechten Maustaste auf eine leere Spalte, und klicken Sie dann im Kontextmenü auf Zoom.
- Geben Sie im Feld Zoom einen Feldalias (Alias (SQL): Ein alternativer Name für eine Tabelle oder ein Feld in Ausdrücken. Aliasnamen werden häufig zum Abkürzen des Tabellen- oder Feldnamens für nachfolgende Verweise in Code, zum Verhindern von mehrdeutigen Verweisen oder zum Bereitstellen eines beschreibenden Namens in Abfrageausgaben verwendet.) ein, gefolgt von einem Doppelpunkt (:).
- Geben Sie IIf() ein.
- Geben Sie innerhalb der Klammern hinter IIf einen Vergleichsausdruck ein, der den ersten Bereich der Feldwerte definiert.
Angenommen, Sie erstellen Bereiche für ein Age-Feld und möchten Bereiche von jeweils 20 Jahren festlegen. Der Vergleichsausdruck für den ersten Bereich lautet dann [Age]<21.
- Geben Sie nach dem Vergleichsausdruck ein Komma und danach einen Namen für den Bereich ein, den Sie in Anführungszeichen einschließen. Der angegebene Name ist die Kreuztabellenüberschrift für Werte, die innerhalb dieses Bereichs liegen.
Geben Sie beispielsweise hinter [Age]<21 ein Komma und dann "0-20 years" ein.
- Geben Sie hinter dem Bereichsnamen ein Komma ein (außerhalb der Anführungszeichen), und führen Sie dann einen der folgenden Schritte durch:
- Geben Sie zum Erstellen eines weiteren Bereichs IIf() ein, und wiederholen Sie dann die Schritte 5, 6 und 7.
- Geben Sie für den letzten Bereich lediglich einen Namen ein.
Ein vollständig geschachtelter IIf-Ausdruck, der ein Age-Feld in Bereiche von jeweils 20 Jahren aufteilt, kann beispielsweise folgendermaßen aussehen (die Zeilenumbrüche wurden zur Verbesserung der Lesbarkeit hinzugefügt):
IIf([Age]<21,"0-20 years",
IIf([Age]<41,"21-40 years",
IIf([Age]<61,"41-60 years",
IIf([Age]<81,"61-80 years", "80+ years"))))
Hinweis Wenn Access den Ausdruck auswertet, wird der Vorgang angehalten, sobald eine der IIf-Anweisungen als wahr ausgewertet wird. Sie müssen das untere Ende der einzelnen Bereiche nicht angeben, da jeder Wert, der niedriger ist als das untere Ende eines vorgegebenen Bereichs, bereits als wahr ausgewertet wurde.
- Wählen Sie im Abfrageentwurfsbereich in der Zeile Summe die Option Gruppieren nach aus.
- Geben Sie in der Zeile Kreuztabelle an, ob die Bereiche als Zeilenüberschriften oder Spaltenüberschriften verwendet werden sollen. Beachten Sie, dass Sie bis zu drei Zeilenüberschriften, aber nur eine Spaltenüberschrift angeben können.
Seitenanfang
Auffordern zur Eingabe eines Parameters zur Einschränkung von Zeilenüberschriften
Es empfiehlt sich, eine Kreuztabellenabfrage so einzurichten, dass sie bei der erstmaligen Ausführung zur Eingabe von Daten auffordert. Angenommen, Sie verwenden verschiedene Spaltenüberschriften, von denen eine "Land/Region" lautet. Statt immer Daten für jedes Land anzuzeigen, kann es sinnvoll sein, dass die Abfrage zur Eingabe eines Namens auffordert, und dann Daten der Benutzereingabe entsprechend ausgibt.
Eine Aufforderung zur Eingabe von Parametern kann für jedes Zeilenüberschriftsfeld hinzugefügt werden. Hinweis Eine Aufforderung zur Eingabe von Parametern können Sie auch einem Spaltenüberschriftsfeld hinzufügen. Die angezeigte Spaltenanzahl wird hierdurch jedoch nicht eingeschränkt. Weitere Informationen zur Einschränkung der angezeigten Spalten finden Sie im Abschnitt Angeben fester Werte für Spaltenüberschriften.
- Öffnen Sie die Kreuztabellenabfrage in der Entwurfsansicht.
- Geben Sie in der Zeile Kriterien des Zeilenüberschriftsfelds, für das Sie Benutzer zur Eingabe auffordern möchten, die in eckige Klammern eingeschlossene Frage ein. Die Frage wird bei Ausführung der Abfrage als Eingabeaufforderung angezeigt.
Wenn Sie beispielsweise in der Zeile Kriterien die Frage [Welches Land oder welche Region?] eingeben, wird bei Ausführung der Abfrage ein Dialogfeld mit der Frage "Welches Land oder welche Region", ein Eingabefeld und die Schaltfläche OK angezeigt.
Tipp Wenn Sie einen flexiblen Parameter wünschen, verketten Sie den Ausdruck mithilfe des Operators Like mit Platzhalterzeichen. Statt als Kriterium [Welches Land oder welche Region?] anzugeben, können Sie Like [Welches Land oder welche Region?]&"*" angeben, damit der Parameter einem größeren Eingabebereich entspricht. Durch die Verwendung des Operators Like wird die Darstellung der Aufforderung zur Eingabe eines Parameters nicht verändert.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Parameter.
- Geben Sie im Dialogfeld Abfrageparameter in der Spalte Parameter dieselbe Aufforderung zur Eingabe eines Parameters ein wie in der Zeile Kriterien. Fügen Sie die eckigen Klammern ein, jedoch weder verkettete Platzhalter noch den Operator Like.
- Wählen Sie in der Spalte Datentyp den Datentyp für den Parameter aus. Der Datentyp muss dem Datentyp des Zeilenüberschriftsfelds entsprechen.
Seitenanfang
Ersetzen von Nullwerten durch Nullen
Falls das Feld, mit dem Zusammenfassungswerte in der Kreuztabellenabfrage berechnet werden, Nullwerte enthält, werden diese Werte von jeder verwendeten Aggregatfunktion ignoriert. Bei manchen Aggregatfunktionen kann sich dies auf die Ergebnisse auswirken. Um beispielsweise einen Mittelwert zu berechnen, fügen Sie sämtliche Werte hinzu und dividieren das Ergebnis durch die Anzahl der Werte. Wenn das Feld jedoch Nullwerte enthält, werden diese Nullwerte nicht in der Anzahl der Werte berücksichtigt.
Manchmal ist es unter Umständen vorzuziehen, alle gegebenenfalls vorhandenen Nullwerte durch Nullen zu ersetzen, sodass die Werte bei Aggregatberechnungen gezählt werden. Mit der Nz-Funktion können Nullwerte durch Nullen ersetzt werden.
Syntax der Nz-Funktion
Nz(variant [, valueifnull ] )
Die Nz-Funktion weist die folgenden Argumente auf:
| Argument |
Beschreibung |
| variant |
Erforderlich. Eine Variable des Datentyps (Datentyp: Die Eigenschaft eines Felds, die bestimmt, welche Art von Daten das Feld aufnehmen kann. Als Datentypen sind Währungs- und Datumstypen sowie "Boolean", "Integer", "Long", "Single", "Double", "String" und "Variant" (Standardwert) verfügbar.) Variant. |
| valueifnull |
Optional (sofern nicht in einer Abfrage verwendet). Ein Variant-Datentyp, der einen Wert übergibt, der zurückzugeben ist, wenn das Argument variant gleich Null ist. Dieses Argument bietet Ihnen die Möglichkeit, einen anderen Wert als Null oder eine Zeichenfolge mit der Länge null zurückzugeben.
Hinweis Wenn Sie die Nz-Funktion in einem Ausdruck in einer Abfrage ohne das Argument valueifnull verwenden, handelt es sich bei dem Ergebnis um eine Zeichenfolge mit der Länge null in den Feldern, die Nullwerte enthalten.
|
- Klicken Sie bei in der Entwurfsansicht geöffneter Abfrage im Abfrageentwurfsbereich mit der rechten Maustaste auf das Feld Wert.
- Klicken Sie im Kontextmenü auf Zoom.
- Schließen Sie im Feld Zoom den Feldnamen oder den Ausdruck in Klammern ein, und geben Sie dann vor der Klammer Nz ein.
Seitenanfang
Tipps zu Kreuztabellenabfragen
- Einfache Struktur Kreuztabellenabfragen sind bei steigender Anzahl der Zeilenkombination möglicherweise schwierig zu lesen. Verwenden Sie nicht mehr Zeilenüberschriften als nötig.
- Schrittweiser Aufbau einer Kreuztabellenabfrage Beschränken Sie sich nicht nur auf die Verwendung von Tabellen. Häufig können Sie damit beginnen, dass Sie zunächst eine Gesamtsummenabfrage (Gesamtsummenabfrage: Eine Abfrage, die eine zusammenfassende Berechnung, z. B. einen Mittelwert oder eine Summe, für Werte in unterschiedlichen Feldern einer oder mehrerer Tabellen anzeigt. Eine Gesamtsummenabfrage ist kein eigener Abfragetyp, sondern sie erweitert lediglich die Flexibilität von Auswahlabfragen.) erstellen, die Sie dann als Datensatzquelle für eine Kreuztabellenabfrage verwenden.
- Sorgfältige Auswahl des Spaltenüberschriftsfelds Kreuztabellendatenblätter sind meist einfacher lesbar, wenn die Anzahl der Spaltenüberschriften relativ klein bleibt. Nachdem Sie die Felder ermittelt haben, die Sie als Überschriften verwenden möchten, sollten Sie möglichst das Feld mit den wenigsten unterschiedlichen Werten zum Erstellen von Spaltenüberschriften verwenden. Beispiel: Wenn mit der Abfrage ein Wert nach Alter und Geschlecht berechnet wird, sollten Sie nicht das Alter sondern das Geschlecht als Spaltenüberschrift wählen, da für das Geschlecht in der Regel weniger Werte als für das Alter vorkommen.
- Verwenden einer Unterabfrage in einer WHERE-Klausel In einer Kreuztabellenabfrage können Sie eine Unterabfrage als Teil einer WHERE-Klausel verwenden.
Seitenanfang
|