Drilldowns lassen sich in Tableau auf zweierlei Weise realisieren: mithilfe von Hierarchien oder mit mehreren Ansichten. In beiden Varianten erhält man jedoch ein dynamisches Layout, was nicht in allen Datenkonstellationen passend ist oder allen Layoutanforderungen gerecht wird.

In einem Kundenprojekt haben wir die klassische Anforderung eines Drilldowns von einer Dimension zur nächsten Subdimension auf folgende Weise realisiert.

Der Use Case

Sobald nur noch EIN Element (bzw. Ausprägung) in der View enthalten ist, wird die angezeigte Dimension auf die nächste Sub-Dimension herunter gefiltert.
Auf die Superstore Sample Daten bezogen heißt das z.B.: Filtert man auf nur noch ein Element aus Category (z.B. Technology), springt die Anzeige automatisch in diese Category und zeigt die Sub-Categories hierzu an. Filtert man wiederum auf eine Sub-Category (z.B. Phones) werden alle Produkte zu dieser Sub-Category angezeigt.

 

Step-by-Step Guide
1. Das Feld

[Category] und [Sub-Category] in den Filter ziehen und “Add to Context” (im Menü nach Klick auf kleinen Pfeil) auswählen.
Beide Felder müssen zwingend in den Kontext, da der jeweilige Filter vorrangig genutzt werden soll. D.h. die Filter werden zuerst gesetzt und dann greifen die folgenden Formeln. Die unterste Ebene (hier Product Name) muss nicht zwingend in den Kontext, da hier keine weitere Formel angewendet wird.

2. a) Berechnetes Feld [Countd Category] mit folgendem Inhalt anlegen: {countd([Category])}
Der LoD (Level of detail) wird an dieser Stelle notwendig, da das Ergebnis der Berechnung COUNTD für jede Zeile geschrieben werden soll. Beispielhaft gezeigt in der unteren Abbildung. Für jeden Datensatz soll mit Hilfe des LoDs gezählt werden, wie viele Ausprägungen es in Category gibt.

LoD

 

 

 

 

 

 

 

2. b) Berechnetes Feld [Countd Sub-Category] mit folgendem Inhalt anlegen: {countd(Sub-Category)}

3. Berechnetes Feld [Cat or Sub cat or product name] mit folgendem Inhalt anlegen:
If [Countd Sub-Cat] = 1 then [Product Name]
elseif [Countd Cat] = 1 then [Sub-Category]
else [Category] END

4. Dann das Feld [Cat or Sub cat or product name] in die Zeile/Spalte ziehen (und z.B. Sum of Sales) und schon hat man den „Switch“.

5. Möchte man noch, dass der Name der jeweiligen Category/ Sub-Category im Titel steht, dann erstellt man folgendes Feld [Cat or Sub cat or product label] mit dem Inhalt:
If [Countd_Sub-Cat] = 1 then [Sub-Category]
elseif [Countd_Cat] = 1 then [Category]
else "Categories" END

Dieses Feld dann in dem Tooltip anzeigen lassen.
Wenn man dieses Feld dann noch im Dashboard beim Titel benutzt, verändert sich auch hier die Anzeige entsprechend der Auswahl.

Achtung!
Es besteht aktuell keine Möglichkeit die Filterung mit einer Action zu verbinden. D.h. die Auswahl per Klick oder Menü auf eine Ausprägung z.B. „Furniture“ liefert nicht den gewünschten Drill-Down auf die Sub-Category von Furniture.

Happy Dashboarding!

P.S.
Man kann die Formeln auch zusammenfassen, falls der Wunsch besteht so wenige Formeln wie möglich zu schreiben. Die LoD-Formeln für COUNTD(Category) und COUNTD(Sub-Category) können auch in das berechnete Feld [Cat or Sub cat or product name] integriert werden:
If {COUNTD([Sub-Category])} = 1 then [Product Name]
elseif {COUNTD([Category])} = 1 then [Sub-Category]
else [Category] END