Vereinfachen Sie das Lesen von Zusammenfassungsdaten, indem Sie eine Kreuztabellenabfrage verwenden
Um Zusammenfassungsdaten in Access leichter lesbar und verständlich zu machen, sollten Sie eine Kreuztabellenabfrage verwenden. Eine Kreuztabellenabfrage berechnet eine Summe, einen Durchschnitt oder eine andere aggregierte Funktion und gruppiert die Ergebnisse dann nach zwei Sätzen von Werten – einen Satz an der Seite des Datenblatts und den anderen Satz oben. Klicken Sie auf dem Menüband auf Erstellen und dann in der Gruppe Abfragen auf Abfrage-Assistent . Doppelklicken Sie im Dialogfeld Neue Abfrage auf Kreuztabellen- Abfrage-Assistent .
Wenn ein Satz von Überschriften Datumswerte enthält, hilft Ihnen der Assistent, die Datensätze nach Standardintervallen zu gruppieren – z. B. Monate oder Quartale.
In diesem Artikel
Erstellen Sie mithilfe des Assistenten für Kreuztabellenabfragen eine Kreuztabellenabfrage
Erstellen Sie eine Kreuztabellenabfrage in der Entwurfsansicht
Zur Eingabe eines Parameters auffordern, um Zeilenüberschriften einzuschränken
Hinweis: Kreuztabellenabfragen sind in Access-Web-Apps nicht verfügbar und werden in einer Webdatenbank nur teilweise unterstützt: Sie können von keinem Webobjekt verwendet werden.
Überblick
Eine Kreuztabellenabfrage ist eine Art Auswahlabfrage. Wenn Sie eine Kreuztabellenabfrage ausführen, werden die Ergebnisse in einem Datenblatt angezeigt, das eine andere Struktur als andere Datenblatttypen hat.
Die Struktur einer Kreuztabellenabfrage kann das Lesen erleichtern als eine einfache Auswahlabfrage, die dieselben Daten anzeigt, wie in der folgenden Abbildung gezeigt.
1. Diese Auswahlabfrage gruppiert zusammenfassende Daten vertikal nach Mitarbeiter und Kategorie.
2. Eine Kreuztabellenabfrage kann dieselben Daten anzeigen, gruppiert die Daten jedoch sowohl horizontal als auch vertikal, sodass das Datenblatt kompakter und leichter lesbar ist.
Wenn Sie eine Kreuztabellenabfrage erstellen, geben Sie an, welche Felder Zeilenüberschriften, welche Felder Spaltenüberschriften und welche Felder zusammenzufassende Werte enthalten. Sie können jeweils nur ein Feld verwenden, wenn Sie Spaltenüberschriften und zusammenzufassende Werte angeben. Sie können bis zu drei Felder verwenden, wenn Sie Zeilenüberschriften angeben.
Sie können auch einen Ausdruck verwenden, um Zeilenüberschriften, Spaltenüberschriften oder zusammenzufassende Werte zu erstellen. Weitere Informationen finden Sie unter SQL-Aggregatfunktionen .
1. Eine, zwei oder drei Spalten auf dieser Seite enthalten Zeilenüberschriften. Die Namen der Felder, die Sie als Zeilenüberschriften verwenden, werden in der obersten Zeile dieser Spalten angezeigt.
2. Hier erscheinen die Zeilenüberschriften. Die Anzahl der Zeilen im Kreuztabellen-Datenblatt kann schnell anwachsen, wenn Sie mehr als ein Zeilenüberschriftenfeld verwenden, da jede Kombination von Zeilenüberschriften angezeigt wird.
3. Die Spalten auf dieser Seite enthalten Spaltenüberschriften und Zusammenfassungswerte. Beachten Sie, dass der Name des Spaltenüberschriftenfelds nicht im Datenblatt erscheint.
4. Hier erscheinen zusammenfassende Werte.
Methoden zum Erstellen Ihrer Kreuztabellenabfrage
Verwenden des Assistenten für Kreuztabellenabfragen Der Assistent für Kreuztabellenabfragen ist normalerweise die schnellste und einfachste Methode zum Erstellen einer Kreuztabellenabfrage. Er erledigt die meiste Arbeit für Sie, aber es gibt einige Optionen, die der Assistent nicht bietet.
Der Assistent hat folgende Vorteile:
Es ist einfach zu bedienen. Um es zu verwenden, starten Sie den Assistenten und beantworten dann eine Reihe von geführten Fragen.
Es kann Daten automatisch in Intervalle gruppieren. Wenn Sie ein Feld verwenden, das Datums-/Uhrzeitdaten für Spaltenüberschriften enthält, hilft Ihnen der Assistent auch dabei, die Daten in Intervallen zu gruppieren, z. B. Monate oder Quartale.
Tipp: Wenn Sie Werte aus einem Datums-/Uhrzeitfeld für Spaltenüberschriften verwenden, die Datumsangaben jedoch in Intervallen gruppieren möchten, die der Assistent nicht bereitstellt, z. B. Geschäftsjahr oder Biennium, verwenden Sie den Assistenten nicht zum Erstellen Ihrer Abfrage. Erstellen Sie stattdessen die Kreuztabellenabfrage in der Entwurfsansicht und verwenden Sie einen Ausdruck, um die Intervalle zu erstellen.
Es kann als Ausgangspunkt verwendet werden. Sie können den Assistenten verwenden, um die gewünschte einfache Kreuztabellenabfrage zu erstellen, und dann das Design der Abfrage in der Entwurfsansicht optimieren.
Mit dem Assistenten können Sie jedoch nicht:
Verwenden Sie mehr als eine Tabelle oder Abfrage als Datensatzquelle.
Verwenden Sie einen Ausdruck, um Felder zu erstellen.
Fügen Sie eine Parameter-Eingabeaufforderung hinzu.
Geben Sie eine Liste fester Werte an, die als Spaltenüberschriften verwendet werden sollen.
Im letzten Schritt des Assistenten können Sie die Abfrage in der Entwurfsansicht ändern. Auf diese Weise können Sie Abfrageentwurfselemente hinzufügen, die der Assistent nicht unterstützt, wie z. B. zusätzliche Datensatzquellen.
Arbeiten in der Entwurfsansicht Die Entwurfsansicht gibt Ihnen mehr Kontrolle über Ihren Abfrageentwurf. Es unterstützt die Funktionen, die im Assistenten nicht verfügbar sind.
Erwägen Sie die Verwendung der Entwurfsansicht zum Erstellen Ihrer Kreuztabellenabfrage, wenn Sie:
Haben Sie mehr Kontrolle über den Prozess. Der Assistent trifft einige Entscheidungen für Sie.
Verwenden Sie mehr als eine Tabelle oder Abfrage als Datensatzquelle.
Fügen Sie Ihrer Abfrage eine Parametereingabeaufforderung hinzu.
Verwenden Sie Ausdrücke als Felder in Ihrer Abfrage.
Geben Sie eine Liste fester Werte an, die als Spaltenüberschriften verwendet werden sollen.
Üben Sie die Verwendung des Entwurfsrasters.
Schreiben einer Abfrage in der SQL-Ansicht Sie können eine Kreuztabellenabfrage in der SQL-Ansicht schreiben, wenn Sie dies bevorzugen. Sie können Parameterdatentypen jedoch nicht mithilfe der SQL-Ansicht angeben. Wenn Sie einen Parameter in Ihrer Kreuztabellenabfrage verwenden möchten, müssen Sie den Parameterdatentyp angeben, indem Sie Ihre Abfrage in der Entwurfsansicht ändern.
Tipp: Denken Sie daran – Sie sind nicht darauf beschränkt, nur eine Methode zum Erstellen einer Kreuztabellenabfrage zu verwenden. Sie können den Assistenten verwenden, um die Abfrage zu erstellen, und dann die Entwurfsansicht verwenden, um den Abfrageentwurf zu ändern.
Erstellen Sie mithilfe des Assistenten für Kreuztabellenabfragen eine Kreuztabellenabfrage
Die Verwendung des Assistenten für Kreuztabellenabfragen erfordert, dass Sie eine einzelne Tabelle oder Abfrage als Datensatzquelle für Ihre Kreuztabellenabfrage verwenden. Wenn eine einzelne Tabelle nicht alle Daten enthält, die Sie in Ihre Kreuztabellenabfrage aufnehmen 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 .
Für dieses Beispiel erstellen wir eine Kreuztabellenabfrage mit der Tabelle Products aus der Northwind-Beispieldatenbank. Wir möchten die Anzahl der Produkte in jeder Kategorie von allen Lieferanten anzeigen.
Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrage-Assistent .
Klicken Sie im Dialogfeld Neue Abfrage auf Assistent für Kreuztabellenabfragen und dann auf OK .
Der Assistent für Kreuztabellenabfragen wird gestartet.
Wählen Sie auf der ersten Seite des Assistenten die Tabelle oder Abfrage aus, die Sie zum Erstellen einer Kreuztabellenabfrage verwenden möchten. Wählen Sie für dieses Beispiel die Tabelle Products aus und klicken Sie dann auf Next .
Wählen Sie auf der nächsten Seite das Feld mit den Werten aus, die Sie als Zeilenüberschriften verwenden möchten. Sie können bis zu drei Felder als Quellen für Zeilenüberschriften auswählen, aber je weniger Zeilenüberschriften Sie verwenden, desto einfacher wird Ihr Kreuztabellen-Datenblatt zu lesen sein. Wenn Sie mehr als ein Feld auswählen, um Zeilenüberschriften bereitzustellen, bestimmt die Reihenfolge, in der Sie die Felder auswählen, die Standardreihenfolge, in der Ihre Ergebnisse sortiert werden.
Wählen Sie für dieses Beispiel Supplier IDs.Value aus und klicken Sie dann auf die Schaltfläche mit dem Symbol > . Beachten Sie, dass Access den Feldnamen auf der linken Seite der Beispielabfragevorschau unten im Dialogfeld anzeigt. Klicken Sie auf Weiter , um fortzufahren.
Wählen Sie auf der nächsten Seite das Feld aus, das die Werte enthält, die Sie als Spaltenüberschriften verwenden möchten. Im Allgemeinen sollten Sie ein Feld auswählen, das nur wenige Werte enthält, damit Ihre Ergebnisse gut lesbar bleiben. Beispielsweise ist die Verwendung eines Felds mit nur wenigen möglichen Werten (z. B. Geschlecht) möglicherweise besser als die Verwendung eines Felds, das viele verschiedene Werte enthalten kann (z. B. Alter).
Wenn das Feld, das Sie für Spaltenüberschriften verwenden möchten, den Datentyp „Datum/Uhrzeit" hat, fügt der Assistent einen Schritt hinzu, mit dem Sie angeben können, wie die Daten in Intervallen gruppiert werden, z. B. Monate oder Quartale.
Wählen Sie für dieses Beispiel „ Kategorie " aus, und beachten Sie, dass Access Kategoriebeispielnamen am oberen Rand der Beispielabfragevorschau unten im Dialogfeld anzeigt. Klicken Sie auf Weiter , um fortzufahren.
Wenn Sie ein Datums-/Zeitfeld für Spaltenüberschriften auswählen, werden Sie auf der nächsten Seite des Assistenten aufgefordert, das Intervall anzugeben, das zum Gruppieren der Daten verwendet werden soll. Sie können Year , Quarter , Month , Date oder Date/Time angeben. Wenn Sie kein Datums-/Uhrzeitfeld für Spaltenüberschriften auswählen, überspringt der Assistent diese Seite.
Wählen Sie auf der nächsten Seite ein Feld und eine Funktion zum Berechnen von Zusammenfassungswerten aus. Der Datentyp des ausgewählten Felds bestimmt, welche Funktionen verfügbar sind.
Aktivieren oder deaktivieren Sie auf derselben Seite das Kontrollkästchen Ja, Zeilensummen einbeziehen, um Zeilensummen ein- oder auszuschließen.
Wenn Sie Zeilensummen einbeziehen, hat die Kreuztabellenabfrage eine zusätzliche Zeilenüberschrift, die dasselbe Feld und dieselbe Funktion wie der Feldwert verwendet. Das Einschließen einer Zeilensumme fügt eine zusätzliche Spalte ein, die die verbleibenden Spalten zusammenfasst. Wenn Ihre Kreuztabellenabfrage beispielsweise das Durchschnittsalter nach Standort und Geschlecht (mit Spaltenüberschriften für Geschlecht) berechnet, berechnet die zusätzliche Spalte das Durchschnittsalter nach Standort für alle Geschlechter.
Wählen Sie für dieses Beispiel ID im Feld Felder und Zählen im Feld Funktionen aus, damit Access die Anzahl der Produkte in jeder Schnittmenge von Lieferant und Kategorie zählt. Lassen Sie das Kontrollkästchen Ja, Zeilensummen einbeziehen aktiviert. Access erstellt eine Spalte, die die Anzahl der Produkte von jedem Lieferanten zusammenfasst. Klicken Sie auf Weiter , um fortzufahren.
Geben Sie auf der letzten Seite des Assistenten einen Namen für Ihre Abfrage ein und geben Sie dann an, ob Sie die Ergebnisse anzeigen oder den Abfrageentwurf ändern möchten.
Sie können die zum Erzeugen von Zeilensummen verwendete Funktion ändern, indem Sie die Kreuztabellenabfrage in der Entwurfsansicht bearbeiten.
Wenn Sie dieses Beispiel mit der Tabelle Products aus der Northwind-Datenbank durchgegangen sind, zeigt die Kreuztabellenabfrage die Liste der Lieferantennamen als Zeilen, die Namen der Produktkategorien als Spalten und die Anzahl der Produkte in jeder Schnittmenge an.
Indem Sie die Entwurfsansicht zum Erstellen Ihrer Kreuztabellenabfrage verwenden, können Sie beliebig viele Datensatzquellen (Tabellen und Abfragen) verwenden. Sie können das Design jedoch einfach halten, indem Sie zuerst eine Auswahlabfrage erstellen, die alle gewünschten Daten zurückgibt, und diese Abfrage dann als einzige Datensatzquelle für Ihre Kreuztabellenabfrage verwenden. Weitere Informationen zum Erstellen einer Auswahlabfrage finden Sie im Abschnitt Siehe auch .
Wenn Sie eine Kreuztabellenabfrage in der Entwurfsansicht erstellen, verwenden Sie die Zeilen „ Gesamt " und „Kreuztabelle" im Entwurfsbereich, um anzugeben, welche Feldwerte zu Spaltenüberschriften werden, welche Feldwerte zu Zeilenüberschriften werden und welche Feldwerte summiert, gemittelt und gezählt werden sollen , oder anderweitig berechnen.
1. Die Einstellungen in diesen Zeilen bestimmen, ob das Feld eine Zeilenüberschrift, eine Spaltenüberschrift oder ein Zusammenfassungswert ist.
2. Diese Einstellung zeigt die Werte des Felds als Zeilenüberschriften an.
3. Diese Einstellung zeigt die Werte des Felds als Spaltenüberschriften an.
4. Diese Einstellungen erzeugen die Zusammenfassungswerte.
Erstellen Sie die Abfrage
Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf .
Doppelklicken Sie im Dialogfeld „ Tabelle anzeigen" auf jede Tabelle oder Abfrage, die Sie als Datensatzquelle verwenden möchten.
Wenn Sie mehr als eine Datensatzquelle verwenden, stellen Sie sicher, dass die Tabellen oder Abfragen auf Feldern verknüpft sind, die sie gemeinsam haben. Weitere Informationen zum Verbinden 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. Sie können bis zu drei Felder für Zeilenüberschriften auswählen.
Wählen Sie im Abfrageentwurfsbereich in der Kreuztabellenzeile für jedes Zeilenüberschriftsfeld die Option Zeilenüberschrift aus.
Sie können einen Ausdruck in die Zeile Kriterien eingeben, um die Ergebnisse für dieses Feld einzuschränken. Sie können die Sortierreihenfolge auch verwenden, um eine Sortierreihenfolge für ein Feld anzugeben.
Doppelklicken Sie im Abfrageentwurfsfenster auf das Feld, das Sie als Quelle für Spaltenüberschriften verwenden möchten. Sie können nur ein Feld für Spaltenüberschriften auswählen.
Wählen Sie im Abfrageentwurfsbereich in der Zeile Kreuztabelle für das Feld Spaltenüberschrift die Option Spaltenüberschrift aus.
Sie können einen Ausdruck in die Zeile „ Kriterien " eingeben, um die Ergebnisse für das Feld „Spaltenüberschrift" einzuschränken. Die Verwendung eines Kriterienausdrucks mit dem Spaltenüberschriftsfeld begrenzt jedoch nicht die Anzahl der Spalten, die von der Kreuztabellenabfrage zurückgegeben werden. Stattdessen schränkt es ein, welche Spalten Daten enthalten. Angenommen, Sie haben ein Spaltenüberschriftenfeld mit drei möglichen Werten: rot, grün und blau. Wenn Sie das Kriterium ='blau' auf das Feld Spaltenüberschrift anwenden, zeigt die Kreuztabelle immer noch eine Spalte für Rot und eine Spalte für Grün an, aber nur die Spalte für Blau enthält Daten.
Wenn Sie die Werte einschränken möchten, die als Spaltenüberschriften angezeigt werden, können Sie eine Liste mit festen Werten angeben, indem Sie die Eigenschaft Spaltenüberschriften der Abfrage verwenden. Weitere Informationen finden Sie im nächsten Abschnitt.
Doppelklicken Sie im Abfrageentwurfsfenster auf das Feld, das Sie zum Berechnen von Zusammenfassungswerten verwenden möchten. Sie können nur ein Feld auswählen, das für Zusammenfassungswerte verwendet werden soll.
Wählen Sie im Abfrageentwurfsbereich in der Zeile Summe für das Feld Zusammenfassungswerte eine Aggregatfunktion aus, die zum Berechnen der Werte verwendet werden soll.
Wählen Sie in der Kreuztabellenzeile für das Feld mit den Zusammenfassungswerten die Option Wert aus.
Sie können keine Kriterien für ein Zusammenfassungswertefeld angeben oder nach diesem sortieren.
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .
Geben Sie feste Werte für Spaltenüberschriften an
Wenn Sie feste Werte für Spaltenüberschriften angeben möchten, können Sie die Eigenschaft 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 Eigenschaftsblatt direkt über der Registerkarte Allgemein sicher, dass der Auswahltyp Abfrageeigenschaften lautet. Wenn dies nicht der Fall ist, klicken Sie auf eine leere Stelle im Bereich über dem Abfrageentwurfsraster.
Geben Sie im Eigenschaftenblatt auf der Registerkarte Allgemein in der Eigenschaft Spaltenüberschriften eine durch Kommas getrennte Liste von Werten ein, die Sie als Spaltenüberschriften verwenden möchten.
Einige Zeichen (z. B. die meisten Satzzeichen) sind in Spaltenüberschriften nicht zulässig. Wenn Sie diese Zeichen in Ihrer Werteliste verwenden, ersetzt Access jedes dieser Zeichen durch einen Unterstrich (_).
SQL-Syntax für eine Kreuztabellenabfrage
Eine Kreuztabellenabfrage wird in SQL als TRANSFORM-Anweisung ausgedrückt. Eine TRANSFORM-Anweisung hat die folgende Syntax:
Aggregatfunktion TRANSFORMIEREN
selectstatement
PIVOT -Pivotfeld [IN ( Wert1 [, Wert2 [, ...]])]
Die TRANSFORM-Anweisung hat folgende Teile:
Teil | Beschreibung |
aggfunktion | Eine SQL-Aggregatfunktion, die mit den ausgewählten Daten arbeitet. |
selectstatement | Eine SELECT-Anweisung. |
Drehfeld | Das Feld oder der Ausdruck, das/den Sie zum Erstellen von Spaltenüberschriften in der Ergebnismenge der Abfrage verwenden möchten. |
Wert1 , Wert2 | Feste Werte, die zum Erstellen von Spaltenüberschriften verwendet werden. |
Die SQL-Ansicht begrenzt nicht die Anzahl der Tabellen oder Abfragen, die Sie als Datensatzquellen für eine Kreuztabellenabfrage verwenden können. Sie können das Design jedoch einfach halten, indem Sie eine Auswahlabfrage erstellen, die alle Daten zurückgibt, die Sie in Ihrer 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 Ansichten auf Ansicht und dann auf SQL-Ansicht .
Geben oder fügen Sie auf der Registerkarte SQL-Objekt die folgende SQL ein:
VERWANDELN AUSWÄHLEN AUS GRUPPIERE NACH PIVOT ;
Geben Sie in der ersten Zeile nach TRANSFORM einen Ausdruck ein, der zum Berechnen von Zusammenfassungswerten verwendet werden soll; Beispiel: Summe([Betrag]) .
Wenn Sie mehr als eine Tabelle oder Abfrage als Datensatzquelle verwenden, schließen Sie den Tabellen- oder Abfragenamen als Teil jedes Feldnamens ein; Beispiel: Sum([Ausgaben].[Betrag]) .
Geben Sie in der zweiten Zeile nach SELECT eine Liste mit Feldern oder Feldausdrücken ein, die Sie für Zeilenüberschriften verwenden möchten. Trennen Sie die Listenelemente durch Kommas; B. [Budget].[ Dept_ID ], [Expense].[Type] .
Geben Sie in der dritten Zeile nach FROM eine Liste der Tabellen oder Abfragen ein, die Sie als Datensatzquellen verwenden; B. Budget, Ausgaben .
Geben Sie in der vierten Zeile nach GROUP BY dieselbe Liste von Feldern ein, die Sie in Schritt 6 in der SELECT-Klausel verwendet haben.
Geben Sie in der fünften Zeile nach PIVOT einen Feldnamen oder Ausdruck ein, den Sie für Spaltenüberschriften verwenden möchten; B. PIVOT [Budget].[Jahr ] .
Um einer Kreuztabellenabfrage in der SQL-Ansicht eine Sortierreihenfolge hinzuzufügen, verwenden Sie eine ORDER BY-Klausel.
Fügen Sie eine Zeile zwischen der GROUP BY-Klausel und der PIVOT-Klausel 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; zum Beispiel ORDER BY [Ausgaben].[ Ausgaben_Klasse ]
Standardmäßig sortiert eine ORDER BY-Klausel Werte in aufsteigender Reihenfolge. Wenn Sie in absteigender Reihenfolge sortieren möchten, geben Sie DESC nach dem Feldnamen oder Ausdruck ein.
Wenn Sie nach einem zusätzlichen Feld oder Ausdruck sortieren möchten, geben Sie ein Komma ein und geben Sie dann den Namen oder Ausdruck des zusätzlichen Felds ein. Die Sortierung erfolgt in der Reihenfolge, in der die Felder oder Ausdrücke in der ORDER BY-Klausel erscheinen.
Geben Sie am Ende der PIVOT-Klausel in der SQL-Ansicht Ihrer Kreuztabellenabfrage IN ein, gefolgt von einer durch Kommas getrennten Liste von Werten (in Klammern eingeschlossen), die als Spaltenüberschriften verwendet werden sollen. Beispielsweise erzeugt IN (2007, 2008, 2009, 2010) vier Spaltenüberschriften: 2007, 2008, 2009, 2010.
Wenn Sie einen festen Wert angeben, der keinem Feldwert aus dem Pivot-Feld entspricht, wird dieser feste Wert zu einer Spaltenüberschrift für eine leere Spalte.
Fügen Sie nach der FROM-Klausel in der SQL-Ansicht Ihrer Kreuztabellenabfrage eine neue Zeile ein.
Geben Sie WHERE gefolgt von einem Feldkriterium ein.
Wenn Sie zusätzliche Kriterien verwenden möchten, können Sie die Operatoren AND und OR verwenden, um Ihre WHERE-Klausel zu erweitern. Sie können auch Klammern verwenden, um Kriterien in logischen Sätzen zu gruppieren.
Anstatt jeden Wert eines Felds für Zeilen- oder Spaltenüberschriften zu verwenden, möchten Sie manchmal die Werte eines Felds in Bereiche gruppieren und diese Bereiche dann für Zeilen- oder Spaltenüberschriften verwenden. Angenommen, Sie verwenden das Feld „Alter" für Spaltenüberschriften. Anstatt für jedes Alter eine Spalte zu verwenden, ziehen Sie es möglicherweise vor, Spalten zu verwenden, die Altersbereiche darstellen.
Sie können die IIf-Funktion in einem Ausdruck verwenden, um Bereiche für Zeilen- oder Spaltenüberschriften zu erstellen.
Tipp: Wenn Sie Intervalle mit einem Datums-/Uhrzeitfeld erstellen möchten, ziehen Sie die Verwendung des Kreuztabellenabfrage-Assistenten in Betracht. Mit dem Assistenten können Sie Datumsangaben in Jahr- , Quartal- , Monat- , Datum- oder Datum/Uhrzeit -Intervalle gruppieren. Wenn Sie keines dieser Intervalle wünschen, sollten Sie Ihre Kreuztabellenabfrage in der Entwurfsansicht erstellen und dann die in diesem Abschnitt beschriebene Technik verwenden, um die gewünschten Intervalle zu erstellen.
Ö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 gefolgt von einem Doppelpunkt ( : ) ein.
Geben Sie IIf() ein .
Geben Sie innerhalb der Klammern nach IIf einen Vergleichsausdruck ein, der den ersten Bereich von Feldwerten definiert.
Angenommen, Sie erstellen Bereiche für ein Altersfeld und möchten, dass jeder Bereich zwanzig Jahre umfasst. Der Vergleichsausdruck für den ersten Bereich ist [Alter]<21 .
Geben Sie nach dem Vergleichsausdruck ein Komma und dann einen in Anführungszeichen eingeschlossenen Namen für den Bereich ein. Der von Ihnen angegebene Name ist die Kreuztabellenüberschrift für Werte, die in den Bereich fallen.
Geben Sie beispielsweise nach [Alter]<21 ein Komma und dann "0-20 Jahre" ein.
Geben Sie nach dem Bereichsnamen (außerhalb der Anführungszeichen) ein Komma ein und führen Sie dann einen der folgenden Schritte aus:
Um einen weiteren Bereich zu erstellen, geben Sie IIf() ein und wiederholen Sie dann die Schritte 5, 6 und 7.
Geben Sie für den letzten Bereich nur einen Namen für den Bereich ein.
Ein vollständig verschachtelter IIf -Ausdruck, der ein Altersfeld in Zwanzig-Jahres-Bereiche aufteilt, könnte beispielsweise so aussehen (Zeilenumbrüche wurden zur besseren Lesbarkeit hinzugefügt):
IIf([Alter]<21,"0-20 Jahre", IIf([Alter]<41,"21-40 Jahre", IIf([Alter]<61,"41-60 Jahre", IIf([Alter]<81,"61-80 Jahre", "80+ Jahre"))))
Hinweis: Wenn Access den Ausdruck auswertet, wird die Auswertung beendet, sobald eine der IIf- Anweisungen als wahr ausgewertet wird. Sie müssen das untere Ende jedes Bereichs nicht angeben, da jeder Wert, der unter das untere Ende eines bestimmten Bereichs fällt, bereits als wahr ausgewertet worden wäre.
Wählen Sie im Abfrageentwurfsbereich in der Zeile Gesamt die Option Gruppieren nach aus.
Geben Sie in der Kreuztabellenzeile an, ob die Bereiche als Zeilen- oder Spaltenüberschriften verwendet werden sollen. Denken Sie daran, dass Sie ein bis drei Zeilenüberschriften und eine Spaltenüberschrift angeben können.
Möglicherweise möchten Sie, dass Ihre Kreuztabellenabfrage bei der Ausführung zur Eingabe auffordert. Angenommen, Sie verwenden mehrere Zeilenüberschriften, von denen eine Land/Region ist. Anstatt immer Daten für jedes Land oder jede Region anzuzeigen, möchten Sie möglicherweise, dass Ihre Abfrage zur Eingabe eines Namens auffordert und dann Daten gemäß der Eingabe des Benutzers anzeigt.
Sie können jedem Zeilenüberschriftenfeld eine Parametereingabeaufforderung hinzufügen.
Hinweis: Sie können auch eine Parametereingabeaufforderung zu einem Spaltenüberschriftsfeld hinzufügen, aber dadurch werden die angezeigten Spalten nicht eingeschränkt.
Öffnen Sie die Kreuztabellenabfrage in der Entwurfsansicht.
Geben Sie in der Zeile Kriterien für das Zeilenüberschriftsfeld, für das Sie den Benutzer zur Eingabe auffordern möchten, den in eckige Klammern eingeschlossenen Fragetext ein. Der Fragetext wird als Eingabeaufforderung angezeigt, wenn die Abfrage ausgeführt wird.
Wenn Sie beispielsweise [Welches Land oder welche Region?] in die Zeile „ Kriterien " eingeben, wird beim Ausführen der Abfrage ein Dialogfeld angezeigt, das die Frage „Welches Land oder welche Region?", ein Eingabefeld und eine Schaltfläche „ OK " enthält.
Tipp: Wenn Ihr Parameter flexibel sein soll, verketten Sie Ihren Ausdruck mit Platzhaltern, indem Sie den Like -Operator verwenden. Anstatt beispielsweise [Welches Land oder welche Region?] als Kriterium zu verwenden, können Sie Like [Welches Land oder welche Region?]&"*" verwenden, damit der Parameter einem größeren Eingabebereich entspricht. Die Verwendung von „ Gefällt mir" ändert nicht das Erscheinungsbild der Parameter-Eingabeaufforderung.
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden /Ausblenden auf Parameter .
Geben Sie im Dialogfeld „ Abfrageparameter " in der Spalte „ Parameter " dieselbe Parametereingabeaufforderung ein, die Sie in der Zeile „ Kriterien " verwendet haben. Schließen Sie die eckigen Klammern ein, aber keine verketteten Platzhalter oder den Like -Operator.
Wählen Sie in der Spalte Datentyp den Datentyp für den Parameter aus. Der Datentyp sollte mit dem Datentyp des Zeilenüberschriftenfelds übereinstimmen.
Wenn das Feld, das Sie zum Berechnen von Zusammenfassungswerten in Ihrer Kreuztabellenabfrage verwenden, Nullwerte enthält, werden diese Werte von allen von Ihnen verwendeten Aggregatfunktionen ignoriert. Bei einigen Aggregatfunktionen können Ihre Ergebnisse beeinträchtigt werden. Um beispielsweise einen Durchschnitt zu berechnen, addieren Sie alle Werte und dividieren das Ergebnis durch die Anzahl der Werte. Wenn das Feld jedoch Nullwerte enthält, werden diese Nullwerte nicht als Teil der Anzahl der Werte gezählt.
In einigen Fällen ziehen Sie es möglicherweise vor, Nullwerte durch Nullen zu ersetzen, damit die Werte während der Aggregatsberechnungen gezählt werden. Sie können die Nz- Funktion verwenden, um Nullwerte durch Nullen zu ersetzen.
Nz-Syntax
Nz ( Variante [ , valueifnull ] )
Die Syntax der Nz- Funktion hat die folgenden Argumente:
Streit | Beschreibung |
Variante | Erforderlich. Eine Variable vom Datentyp Variant . |
valueifnull | Optional (sofern nicht in einer Abfrage verwendet). Ein Variant , der einen Wert bereitstellt, der zurückgegeben werden soll, wenn das Variant -Argument Null ist. Mit diesem Argument können Sie einen anderen Wert als Null oder eine Zeichenfolge der Länge Null zurückgeben. Hinweis: Wenn Sie die Nz -Funktion in einem Ausdruck in einer Abfrage verwenden, ohne das valueifnull- Argument zu verwenden, sind die Ergebnisse eine leere Zeichenfolge in den Feldern, die Nullwerte enthalten. |
Klicken Sie bei geöffneter Abfrage in der Entwurfsansicht 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 Ausdruck in Klammern ein, und geben Sie dann Nz vor den Klammern ein.
Geben Sie , 0 direkt in die rechte Klammer ein.
Wenn Sie beispielsweise Nz mit einem Feld namens „Hours Lost" verwenden, um Nullwerte in Nullen umzuwandeln, würde Ihr fertiger Ausdruck so aussehen:
Nz([Verlorene Stunden], 0)
Halten Sie es einfach Kreuztabellenabfragen können mit zunehmender Anzahl von Zeilenkombinationen schwer lesbar werden. Verwenden Sie nicht mehr Zeilenüberschriften als nötig.
Erwägen Sie, Ihre Kreuztabelle schrittweise zu erstellen. Beschränken Sie sich nicht darauf, nur Tabellen zu verwenden. Häufig können Sie damit beginnen, eine Summenabfrage zu erstellen und diese Abfrage dann als Datensatzquelle für eine Kreuztabellenabfrage zu verwenden.
Wählen Sie Ihr Spaltenüberschriftsfeld sorgfältig aus Kreuztabellen-Datenblätter sind in der Regel einfacher zu lesen, wenn die Anzahl der Spaltenüberschriften relativ gering bleibt. Nachdem Sie die Felder identifiziert haben, die Sie als Überschriften verwenden möchten, sollten Sie das Feld mit den wenigsten eindeutigen Werten verwenden, um Spaltenüberschriften zu erstellen. Wenn Ihre Abfrage beispielsweise einen Wert nach Alter und Geschlecht berechnet, ziehen Sie in Erwägung, für Spaltenüberschriften das Geschlecht anstelle des Alters zu verwenden, da für das Geschlecht normalerweise weniger mögliche Werte als für das Alter verfügbar sind.
Verwenden einer Unterabfrage in einer WHERE-Klausel Sie können eine Unterabfrage als Teil einer WHERE-Klausel in einer Kreuztabellenabfrage verwenden.
No comments:
Post a Comment