Hallo liebe User Group,
heute mal ein kurzer Tipp, wie man mit Hilfe von Alteryx und nur dem "Multi-Row"-Formel Werkzeug (oder bei der deutschen Alteryx Version: "Mehrzeilige Formel" fehlende Daten auffüllen kann.
Wer kennt Sie nicht, Standard Excel Dateien, die so aussehen:
Hier wurde einfach in der 1. Spalte bei den Kundennummern keine Wiederholung der vorherigen Nummer, wenn es sich in der nächsten Zeile um die gleiche Kundennummer wie in der vorherigen handelt, eingebaut. Sprich, Zeilen 3 bis 7 gehören eigentlich auch zu Kundennummer 3 (aus Zeile 2), es steht halt nur nicht da. Sowas sieht man sehr oft in Excel Dateien, sei es mit Jahresinformationen, wie in diesem Fall mit Kundennummern, oder anderen Informationen.Eine Aggregation der Daten (zum Beispiel in Alteryx mit Hilfe des Summarize Werkzeugs), ist in diesem Fall nicht direkt möglich, weil der Mensch zwar weiß, dass Zeile 3 bis 7 zu Kundennummer gehören, aber die Maschine natürlich nicht.
Diese Herausforderung kann man aber mit Hilfe von Alteryx und dem Multi-Row Formula Werkzeug spielerisch leicht lösen.
Anders als das reine Formel-Werkzeug, welches Operationen zwar spaltenübergreifend, aber immer auf die gleiche Zeile bezogen ausführt, kann man mit dem Multi-Row Formel Werkzeug zeilenübergreifende Operationen durchführen. Was wir also in unserem Beispiel tun müssten, wäre dem Multi-Row Formel Werkzeug zu sagen:
"Wenn Spalte [Customer ID] = NULL, dann nehme die [Customer ID] aus der vorherigen Zeile, ansonsten nehme die [Customer ID] aus der derzeitigen Spalte (also behalte sie bei)"
Und hier wäre die Einstellung dafür:
Welche Schritte muss man tun?
1) Auswahl "Update Existing Field" (denn wir wollen direkt die Customer ID Spalte aktualisieren
2) Auswahl der "Customer ID" Spalte
3) Erstellen der "Expression" (also der Formel) mit Hilfe der blau markierten Bereiche "Variables" und "Functions"
Hinter "Functions" verbergen sich die normalen Alteryx Formeln (in unserem Fall nutzen wir eine "If"-Formel und eine "IsNull" Formel) und hinter "Variables" verbergen sich die Spalten und Zeilen (benannt nach "Active Row" = derzeitige Zeile und zum Beispiel "Row-1" oder "Row+1" für die vor- oder nachgelagerten Zeilen. Es besteht sogar die Möglichkeit auf mehr als nur 1 Zeile davor oder danach zu schauen, indem man bei "Num Rows" eine Zahl größer 1 einstellt.
Als Ergebnis bekommt man dann eine wunderschön ausgefüllte 1. Spalte und somit eine Tabelle, die man jetzt zum Beispiel mit Hilfe des Summarize Tools nach der Kundennummer aggregieren kann:
Wo vorher [NULLS] waren, stehen jetzt die wirklichen Kundennummern drinnen.
Viel Spass und ich hoffe, dies ist bei der täglichen Arbeit hilfreich!
Viele Grüße
Oliver
P.S.:Die Daten sind natürlich rein fiktiv.