Zahlenspiele

Zahlen und zählen

Zu Beginn ange­merkt: Jed­er der hier 5 gestell­ten Auf­gaben lässt sich auch mit Formeln prob­lem­los lösen. Aber ins­beson­dere bei größeren Dateien mit vie­len unter­schiedlichen Kun­den-Namen artet das manch­mal richtig in Arbeit aus. Ich habe Ihnen eine Liste mit 40 Ein­trä­gen vor­bere­it­et, die sie bitte hier herun­ter­laden. Das Ganze stellt sich in etwa so dar:

Die Basis-Daten für die Übungen

Die Basis-Dat­en für die Übun­gen

Auf­gabe 1: Wie viele ver­schiedene Namen sind in der Liste enthal­ten?
Auf­gabe 2: Wie viele (unter­schiedliche) Kun­den, Inter­essen­ten, Liefer­an­ten sind dort aufge­führt?
Auf­gabe 3: Wie oft erscheint jed­er Name in der Liste?
Auf­gabe 4: Wie viele Kun­den haben weniger als 1.000 € Umsatz gemacht?
Auf­gabe 5: Wie viele Kun­den und wie viele Liefer­an­ten haben jew­eils im 1. und 2. Hal­b­jahr 2016 Umsatz getätigt?

Grund­sät­zlich gilt, dass sie für jede dieser Auf­gaben ein Dup­likat der Basis­dat­en (eigentlich der Basis-Abfrage) erstellen. Damit ist gemeint, dass sie zu Beginn ein Mal die Basis­dat­en in den Abfrage-Edi­tor laden. Anschließend für jede Lösung im Menü Start, Gruppe: Abfrage Auswahl: Ver­wal­ten den Punkt Duplizieren wählen und dann mit der jew­eili­gen Kopie arbeit­en. Zweck­mäßiger­weise wer­den sie jed­er dieser erstell­ten Abfra­gen einen sin­nvollen „sprechen­den” Namen geben. Stören Sie sich bitte nicht daran, dass ich als Arbeit­sti­tel Lösung # ver­wende, Sie soll­ten andere Namen ver­wen­den. – Ich selb­st habe der Optik wegen der 3. Spalte (Let­ztes Datum) gle­ich in der ersten Abfrage den Daten­typ Datum zugewiesen und erst danach erst die Dup­likate erstellt. So ist gewährleis­tet, dass diese „schlanke” Darstel­lung durchgängig ist und nicht in jed­er Lösung einzeln nachgebessert wer­den muss.

▲ nach oben …

Aufgabe 1: Lösung

Wie viele ver­schiedene Namen sind in der Liste enthal­ten?

In dem erstell­ten Dup­likat ein Klick auf die Über­schrift Name, Menü Start, Gruppe Abfrage, Sym­bol Zeilen ver­ringern | Zeilen ent­fer­nen | Dup­likate ent­fer­nen. Das Ganze stellt sich vor dem Klick so dar:

Der Menü-Baum zum entfernen von Duplikaten in markieren Spalten

Der Menü-Baum zum ent­fer­nen von Dup­likat­en in markieren Spal­ten

Nach dem Ent­fer­nen der dop­pel­ten Ein­träge der ersten Spalte hat sich die Anzahl der Zeilen stark ver­ringert:

Sehr viel weniger Zeilen nach Entfernung der doppelten Namen

Sehr viel weniger Zeilen nach Ent­fer­nung der dop­pel­ten Namen

Nun ein Wech­sel zum Menü Trans­formieren und dort in der Gruppe Tabelle ein Klick auf Zeilen zählen. Das Ergeb­nis ist auf den ersten Blick vielle­icht etwas irri­tierend:

Dieses Ergebnis ist gewiss unerwartet…

Dieses Ergeb­nis ist gewiss uner­wartet…

Aber mit einem Klick auf das erste Sym­bol: Zu Tabelle erre­ichen Sie, dass das Ergeb­nis in eine neue Tabelle geschrieben wird:

Das Ergebnis stimmt nun

Das Ergeb­nis ist ansehn­lich­er und stimmt nun 😎

Es bietet sich noch an, die Über­schrift dem Inhalt der einzi­gen Zeile anzu­passen. Ich ver­wende beispiel­sweise Anzahl Namen. – Schließen & laden und die Auf­gabe ist erledigt. Wenn Sie jedoch gle­ich weit­er­ma­chen wollen, brauchen Sie diese Abfrage nicht zu schließen son­dern aktivieren wiederum die Abfrage mit den Basis-Dat­en (ide­al­er­weise im linken Seit­en­fen­ster) und erstellen für die kom­mende Auf­gabe erneut ein Dup­likat.

Hin­weis: Ich weiß, dass ich hier etwas „geschlud­ert” habe. Für den Ein­stig sollte das aber aus­re­ichend sein. Bei der näch­sten Lösung wer­den Sie erken­nen, was ich meine…

▲ nach oben …

Aufgabe 2: Lösung

Wie viele (unter­schiedliche) Kun­den, Inter­essen­ten, Liefer­an­ten sind dort aufge­führt?

Die Auf­gabe ähnelt der ersten sehr stark, allerd­ings sollen hier die Merk­male dif­feren­ziert und anschließend aus­gezählt wer­den. Den­noch ist das Vorge­hen in Teilen ganz anders als bei der ersten Lösung. Markieren Sie in der duplizierten Abfrage die Spalte Merk­mal durch einen Klick in die Über­schrift, dann Gruppe Trans­formieren | Grup­pieren nach und es zeigt sich dieses Fen­ster:

Hier werden die Weichen für die Gruppierung gestellt

Hier wer­den die Weichen für die Grup­pierung gestellt

Der Klarheit wegen bietet es sich an, das Textfeld Neuer Spal­tenname mit Anzahl nach Merk­mal auszufüllen. Dann ein­fach ein Klick auf die Schalt­fläche OK. Das Ergeb­nis ist rasch da und sollte Sie überzeu­gen oder vielle­icht auch irri­tieren:

Die Anzahl aller Zeilen mit Kunden, Interessenten und Lieferanten

Die Anzahl aller Zeilen mit Kun­den, Inter­essen­ten und Liefer­an­ten

Prinzip­iell ist diese Berech­nung kor­rekt. Aber eben nur prinzip­iell, denn eigentlich sollte oder dürfte die Summe der Spalte Anzahl nur so hoch sein wie die Summe der von Dup­likat­en befre­it­en Namen. Hier wur­den aber mehrfach aufge­führte Namen auch mehrfach gezählt. 😕 

Wenn Sie also berech­nen wollen, wie viele unter­schiedliche Personen/Firmen jew­eils vorhan­den sind, müssen Sie zuerst die Namen von Dup­likat­en befreien und dann den Weg der Grup­pierung gehen. Ihr Ergeb­nis wird dann ver­mut­lich so sein:

Auch falsch…

Auch falsch…

Sie merken es schon an der Bild-Beschrif­tung, auch hier stimmt etwas nicht. Aber warum nicht? Sie wis­sen aus der ersten Auf­gabe, dass die bere­inigte Zahl der Namen 7 ist. Und dieses Ergeb­nis hat als Summe der Spalte Anzahl auch 7. Ja, aber Namen haben nun ein­mal die Eigen­schaft, dass ein gle­ich­er Name nicht unbe­d­ingt heißen muss, dass das die gle­iche Per­son ist. Wenn Sie sich die Basis-Dat­en anse­hen wer­den Sie erken­nen, dass beispiel­sweise der nicht ger­ade sel­tene Name Müller in allen drei Kat­e­gorien erscheint. Andere Namen sind in zwei Merk­malen vertreten. Und da keine ein­deutige ID existiert muss davon aus­ge­gan­gen wer­den, dass nur die Kom­bi­na­tion von Name und Merk­mal eine Ein­deutigkeit gewährleis­tet. Darum erstellen Sie wiederum ein Dup­likat der ersten Abfrage, markieren Sie die Spal­ten Name und Merk­mal und dann ent­fer­nen Sie die Dup­likate:

Die korrekte von Duplikaten bereinigte Liste (Abfrage)

Die kor­rek­te von Dup­likat­en bere­inigte Liste (Abfrage)

Sie sehen, dass es nun 16 Daten­sätze sind, was auch der Real­ität entspricht. Sie erken­nen, dass eine ein­deutige ID (Kun­den-/In­ter­essen­ten­num­mer, Liefer­an­ten­num­mer) das Unter­fan­gen etwas erle­ichtert hätte. Ins­beson­dere wenn ein Inter­essent zum Kun­den wird und zwar den Sta­tus ändert, die ID aber behält. Oder der Name ändert sich durch Heirat, Umfir­mierung; auch hier bleibt natür­lich die ID erhal­ten und führt zu mehr Ein­deutigkeit. Wie dem auch sei, die Daten­lage ist hier anders. – Wenn Sie unter diesem Aspekt auf genau diesem Stand der Dinge die Spalte Merk­mal markieren und dann die Grup­pierung durch­führen kom­men Sie auf das gewün­schte Ergeb­nis:

Jetzt stimmt's endlich

Jet­zt stimmt’s endlich 😉

▲ nach oben …

Aufgabe 3: Lösung

Wie oft erscheint jed­er Name in der Liste?

Diese Auf­gabe sollte jet­zt eigentlich ein „Selb­st­gänger” sein. Sie erstellen wiederum ein Dup­likat aus den Basis-Dat­en, markieren erforder­lichen­falls die erste Spalte und Klick­en dann auf die Schalt­fläche Grup­pieren. Auf Wun­sch kön­nen Sie dann natür­lich noch die Über­schrift der zweit­en Spalte anpassen. Und vergessen Sie nicht, die Abfrage mit einem „sprechen­den” Namen zu verse­hen.

Aber bedenken Sie, dass hier nur der Name ohne das dazuge­hörige Merk­mal betra­chtet wurde. Wahrschein­lich wollen Sie (und vor allen Din­gen ich 😎 ) ein anderes Ergeb­nis: Wie oft erschein jede Namens-Kom­bi­na­tion in der Liste? Ver­wen­den Sie dazu die Basis-Abfrage (natür­lich als Kopie), markieren Sie Name und Merk­mal und dann Grup­pieren nach. Vergeben Sie einen sin­nvollen Namen und das Ergeb­nis stimmt:

Wer erscheint wie oft in der Liste?

Wer erscheint wie oft in der Liste?

▲ nach oben …

Intermezzo

Dieser Zwis­chen­schritt ist ziem­lich anspruchsvoll. Wenn Sie sich auss­chließlich mit den Basics auseinan­der­set­zen wollen, dann über­sprin­gen Sie den Part und machen gle­ich hier weit­er. In dem Fall wer­den Sie aber statt der in der direkt hier­nach fol­gen­den Anleitung angegebe­nen ID immer die bei­den ersten Spal­ten (Name und Merk­mal) markieren müssen. Das Vorge­hen ist ja auch schon mehrfach beschrieben.

Ehrlich gesagt, so ganz allmäh­lich „nervt” mich die andauernde Notwendigkeit, immer die Kom­bi­na­tion Name | Merk­mal zu betra­cht­en und zu markieren, weil ja (nur) der Name nicht ein­deutig ist. Um das zu ändern, mache ich einen kleinen Abstech­er: Dup­likat der ersten Abfrage erstellen, hier (let­zt­ma­lig) die ersten bei­den Spal­ten markieren und die Dup­likate ent­fer­nen, wie es auch schon weit­er oben beschrieben wurde. Dann Reg­is­ter Spalte hinzufü­gen, Drop­Down Indexs­palte  | Benutzerdefiniert… | Startin­dex: 1000 | Schrit­tweite: 5. Nach einem OK wird jede ein­deutige Namens-Kom­bi­na­tion auch eine ein­deutige Num­mer haben. Ich ver­schiebe nun diese Index-Spalte an die erste Posi­tion, weil ich es gewohnt bin, dass IDs zuerst aufge­führt wer­den; das muss aber nicht unbe­d­ingt sein 😉 . Geben Sie der Abfrage beispiel­sweise den Namen mit ID, um sie gle­ich bess­er wieder zu find­en. Nun noch Schließen & laden (Menü Start oder Datei).

Wech­seln Sie in die Abfrage der Basis-Dat­en und erstellen Sie erneut eine Kopie per Duplizieren. Belassen Sie es gerne bei dem vorgegebe­nen Namen Tabelle1 (2), den erken­nen Sie dann in der Abbil­dung hierunter wieder.  😉 Reg­is­ter Start, Schalt­fläche Kom­binieren | Abfra­gen zusam­men­führen:

Der erste Schritt zum zusammenführen von Abfragen

Der erste Schritt zum Zusam­men­führen von Abfra­gen

In das leere Kom­bi­na­tions­feld unter­halb der ersten Auflis­tung Klick­en und den Ein­trag mit ID auswählen. Sofort wird direkt darunter ein Dat­en-Auszug der zweit­en Abfrage angezeigt. Nun müssen Sie in bei­den Tabellen jene Spal­ten markieren, die in bei­den Lis­ten iden­tis­che und ein­deutige Ein­träge haben. Markieren Sie also jene 4 Spal­ten, wie hier gezeigt Shift oder Strg ist sehr hil­fre­ich:

Die Kombination der jeweils 2 Spalten markieren

Die Kom­bi­na­tion der jew­eils 2 Spal­ten markieren

Nach einem OK kommt spätestens auf den zweit­en Blick eine mehr oder weniger große Ver­wirrung, weil das Ergeb­nis wahrschein­lich nicht dem entspricht, was Sie erwartet haben:

Schön, was soll mir das nun sagen?

Schön, was soll mir das in New­Col­umn nun sagen? 😕

Zugegeben, ich war beim ersten Anblick eines solchen Ergeb­niss­es auch mehr als nur etwas irri­tiert. Und wenn Sie nicht so tief in der EDV drin­steck­en, dann ken­nen Sie die Vok­a­bel „Table” vielle­icht nur als „Tisch”; es ist aber auch eine „Tabelle”, und genau das trifft hier auch zu. Klick­en Sie in der Über­schrift auf dem Dop­pelpfeil rechts Doppelpfeil (das Erweit­ern-Sym­bol) und es erscheint dieser Dia­log:

Welche Spalten sollen erweitert werden?

Welche Spal­ten sollen erweit­ert wer­den?

Jet­zt noch 3 Mausklicks auf diese Kästchen:

  • (Alle Spal­ten auswählen)
  • Ursprünglichen Spal­tenna­men als Prä­fix ver­wen­den
  • und Index, um das Häkchen hier wieder zu set­zen.

Eine Kon­trolle wird Ihnen zeigen, dass jet­zt iden­tis­che Namen | Merk­mal-Kom­bi­na­tio­nen auch eine iden­tis­che ID haben. Und das ist ja auch der Sinn des Unternehmens gewe­sen. Und jet­zt „dür­fen” Sie noch ein­mal die Dup­likate ent­fer­nen, indem Sie (nur) den Index als Auswahl für die Dup­likat-Suche ver­wen­den. Und das funk­tion­iert natür­lich auch dann noch, wenn Frau oder Herr Win­ter etwas kauft und damit den Sta­tus Inter­essent ver­liert und zum Kun­den wird. Denn die ID bleibt erhal­ten.

Aufgabe 4: Lösung

Wie viele Kun­den haben weniger als 1.000 € Umsatz gemacht?

Hier ist vielle­icht zu Beginn etwas mehr Über­legung gefragt. Es geht hier nicht darum zu zählen, wie oft ein Umsatz oder Einkauf unter 1.000 € gemacht wor­den ist son­dern es bet­rifft auss­chließlich Kun­den, nicht die Liefer­an­ten; Inter­essen­ten haben ja sowieso keinen Umsatz gemacht, son­st wären es ja Kun­den.

Darum wer­den sie im 1. Schritt beim Merk­mal einen Fil­ter auf Kunde set­zen. Dann erst soll­ten Sie in der Spalte Umsatz in den Zahlen­fil­ter auf <1000 set­zen.

So wie sich die Abfrage zeigt, ist sie an sich schon ganz brauch­bar. Und wenn die Fragestel­lung gewe­sen wäre, welche Kun­den wann den gerin­gen Umsatz gemacht haben, dann wäre diese Abfrage zielführend. Aber es ist ja „nur” die Anzahl der Kun­den gefragt, auf welche dieses Merk­mal zutrifft. Darum wer­den sie in das Menü Trans­formieren wech­seln und dort wiederum die Auswahl Zeilen zählen anklick­en. Wie schon früher wer­den sie auf die erste Schalt­fläche Klick­en, um aus dem Ergeb­nis eine Tabelle zu erstellen. Auch hier bietet sich an, Spal­tenna­men den Gegeben­heit­en anzu­passen. Beispiel­sweise: Anzahl Kun­den < 1000 €. Ihr Ergeb­nis sollte zwis­chen 4 und 6 liegen. 😉 

Aufgabe 5: Lösung

Wie viele Kun­den und wie viele Liefer­an­ten haben jew­eils im 1. und 2. Hal­b­jahr 2016 Umsatz getätigt?

Um die knappe Fragestel­lung noch ein­mal zu verdeut­lichen: Es sollen für das erste und das zweite Hal­b­jahr getren­nt fest­gestellt wer­den, wie viele unter­schiedliche Kun­den (also die Anzahl) in dem jew­eili­gen Zeitraum Umsatz gemacht haben und wie viele unter­schiedliche Liefer­an­ten uns im ersten und wieviel uns im zweit­en Hal­b­jahr eine Rech­nung gesandt haben.

Zu Beginn set­zen Sie bei Umsatz erst ein­mal einen Fil­ter: Sie ent­fer­nen in der Auflis­tung das Häkchen bei (NULL), wom­it Sie automa­tisch auch die Inter­essen­ten eli­m­inieren. Denn in dem Moment, wo ein Inter­essent Umsatz tätig, ist er automa­tisch zu einem Kun­den gewor­den (sofern das auch entsprechend angepasst wurde).

Um das Ganze nicht zu verkom­plizieren, wer­den sie nicht nur eine, son­dern zwei Abfra­gen erstellen; eine für jedes Hal­b­jahr. Im Ide­al­fall wer­den sie jet­zt schon den Namen für die Abfrage ändern, beispiel­sweise auf qry_Anzahl Ku & Li HJ_1 2016 für das erste Hal­b­jahr. Da bis hier­hin die ersten Schritte für bei­de Hal­b­jahre gle­ich sind, soll­ten Sie an dieser Stelle schon von dieser Abfrage eine Kopie erstellen und diesem Dup­likat den entsprechen­den Namen geben.

Wech­seln Sie nun wieder in die Abfrage des ersten Hal­b­jahrs. Hier set­zen Sie in der Datum-Spalte einen Fil­ter. Die Auswahl Datums­fil­ter bietet Ihnen den Punkt zwis­chen… an und hier geben Sie in die entsprechen­den Felder den 1.1.2016 und den 30.6.2016 als Eck­w­ert ein. OK und in der Query sind nur noch die Dat­en des 1. Hal­b­jahres enthal­ten. Wenn Sie jet­zt Kun­den und Liefer­an­ten separi­eren wollen wird Ihnen auf­fall­en, dass nicht ein einziger Liefer­ant in der Liste vertreten ist. Das ist kein Fehler, das ist gewollt so. 😉 Also gibt es hier nichts zu fil­tern und somit gle­ich Trans­formieren Zeilen zählen. Geben Sie der Spalte nur noch einen sin­nvollen Namen, beispiel­sweise Anzahl Kun­den 1. HJ 16.

Hier mal eine Frage an Sie: stimmt das Ergeb­nis mit 10 Kun­den? Na ja, wenn ich schon die Frage stelle, dann ist doch bes­timmt irgend­wo ein Hak­en an der Sache. 😎 Richtig, die berech­nete Zahl ist nicht der Zielvor­gabe entsprechend. Es sollen natür­lich nicht die Gesamtzahl der Käufe aufge­führt wer­den son­dern die Gesamtzahl unter­schiedlich­er Kun­den. Klick­en Sie ein­mal im recht­en Seit­en­fen­ster auf die hier von mir markierte Zeile:

So wählen Sie einen Zwischenschritt aus

So wählen Sie einen Zwis­chen­schritt der Abfrage aus

Und sie wer­den im eigentlichen Abfrage-Fen­ster erken­nen, dass beispiel­sweise der Kunde Müller 3 Mal vertreten ist:

Trotz Filter ist der Kunde Müller 3 Mal vorhanden

Trotz Fil­ter ist der Kunde Müller 3 Mal vorhan­den

Belassen Sie es bei dieser Markierung am recht­en Seit­en­fen­ster; acht­en Sie darauf, dass in der Abfrage die Spalte Name markiert ist. Ent­fer­nen Sie nun die Dup­likate. Pow­er Query erken­nt nun, dass die Folgeschritte zu einem anderen Ergeb­nis führen kön­nten. Darum wird Ihnen diese Abfrage einge­blendet:

Sicherheitsabfrage vor dem einfügen eines Schrittes

Sicher­heitsabfrage vor dem ein­fü­gen eines Schrittes

Bestäti­gen Sie mit Ein­fü­gen und prüfen Sie anschließend durch einen Klick in die unter­ste Zeile des recht­en Seit­en­fen­sters bei Angewen­dete Schritte, ob das Ergeb­nis angepasst wor­den ist oder nicht… Und Sie sehen, dass vielfach auch Kor­rek­turen möglich sind, ohne nach­fol­gende Schritte erst ein­mal zu löschen und dann den gesamten Vor­gang von vorne zu wieder­holen.

Hin­weis: Wenn Sie den Inter­essen­ten Win­ter zu einem Kun­den gemacht haben, dann wird hier ein fehler­haftes Ergeb­nis angezeigt. Denn es gab zu Beginn einen Kun­den und einen Inter­essen­ten mit dem Namen Win­ter. In solchen Fällen muss der zu einem Kun­den „aufgestiegene”, ehe­maige Inter­essent Win­ter entwed­er einen Namens-Zusatz bekom­men oder Sie haben dem Inter­mez­zo fol­gend eine ID-Spalte einge­fügt, dann bleibt der zweite Name so wie er ist und Sie ent­fer­nen die Dup­likate natür­lich in der ID-Spalte.

Wech­seln Sie nun zum Dup­likat der ger­ade erstell­ten Abfrage für das 2. Hal­b­jahr. Auch hier wer­den sie den Zeitraum durch einen Fil­ter ein­gren­zen. Und nun sind auch Liefer­an­ten dabei. – Später wer­den Sie gewiss in der Lage sein, entwed­er diese bei­den Queries zu kom­binieren oder gle­ich eine einzige Abfrage zu gestal­ten. Im Moment reicht es, wenn Sie nach Schließen & laden die bei­den Tabellen per Hand zusam­men­führen.

▲ nach oben …

Dieser Beitrag wurde unter Allgemein, Verschiedenes, Ohne Makro/VBA, Power Query, Rechnen & Zahlen abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.