Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Forum - Deutsch

Suchen Sie nach Antworten, stellen Sie Fragen und teilen Sie Ihr Alteryx-Wissen.
GELÖST

Alteryx: Inhalt einer Zelle leeren und mit neuem Datensatz füllen

zbostan
Meteoroid

Hallo zusammen, 

 

habe folgende Problematik und erhoffe mir, dass mir die Community dabei weiterhelfen kann 🙂 :

ich möchte von einer Spalte die Inhalte bestimmter Zellen löschen und diese mit bestimmten Datensätzen füllen. Folgendes Beispiel:  

In der Spalte "A" sollen die Zellen 3070, 3071, 3072 und 3073 mit 000-000 sowie die Zellen 3077, 3078 und 3079 mit der 111-111 befüllt werden. 

zbostan_0-1633946853561.png

 

Am Ende möchte ich folgenden Output haben: 

 

zbostan_1-1633946950525.png

Zur Info: Es handelt sich hierbei um ein Datensatz mit über 5.000 Zeilen. Entsprechend gibt es weitere Zellen, die mit einem Inhalt befüllt werden sollen (Bsp. Zelle A3 bis A6 mit dem Inhalt der Zelle A2 usw.) 

 

Vielen Dank im Voraus. 

 

ZB

8 ANTWORTEN 8
grossal
15 - Aurora
15 - Aurora

Hallo @zbostan,

 

willkommen in der deutschen Alteryx-Community!

 

Deine Aufgabe lässt sich relativ mit der Mehrzeiligen Formel (Multi-Row-Formula) umsetzen. Die Formel könnte dann wie folgt aussehen:

 

grossal_0-1633950593870.png

 

Was passiert da?

Wenn der Wert in A null ist oder 000-000 bzw. 111-111, dann soll er genau so bleiben wie er ist, in allen anderen Fällen nehmen wir einfach den Wert aus der vorherigen Zeile.

 

Solltest du noch mehr Werte wie '000-000' oder '111-111' haben, können wir für diese auch dynamisch eine Liste hinterlegen oder diese mit ihrem Schema erkennen.

 

 

Viele Grüße

Alex

 

 

 

 

zbostan
Meteoroid

Hallo Alex,

vielen Dank für deine schnelle Antwort. 

ja, ich habe noch mehrere Werte wie die "000-000" usw. (siehe unten "1789-099"). Wie würde eine solche Liste aussehen?

 

zbostan_0-1633962936563.png

 

Viele Grüße

ZB

grossal
15 - Aurora
15 - Aurora

Hallo @zbostan,

 

entschuldige bitte die späte Antwort, ich war ein paar Tage verreist.

 

Deinem anderen Post entnehme ich folgendes: 

  • Es gibt eine definierte Anzahl an Möglichkeiten und
  • Sie ist immer im Schema "3 Zahlen Bindestrich 3 Zahlen"

 

Für beide Varianten gibt es eine gute Möglichkeit dies in Alteryx abzufragen:

 

Variante 1: IN-Statement:

 

If isnull([A]) or [A] IN ('111-111','000-000',...)
then [A]
else [Row-1:A]
endif

 

In einem IN Statement können wir gegen viele Werte auf einmal prüfen. Wenn A einen davon erfüllt, dann überschreiben wir die folgenden Zahlen.

 

Variante 2: Regex

 

If isnull([A]) or Regex_Match([A],'\d{3}-\d{3}')
then [A]
else [Row-1:A]
endif

 

Hier beschreiben wir dein Schema von "3 Zahlen Bindestrich 3 Zahlen" \d{3} steht dabei für "3 Zahlen" - danach haben wir den Bindestrich und wieder drei Zahlen.

 

Viele Grüße

Alex

 

 

zbostan
Meteoroid

Hallo Alex, vielen Dank für deine Rückmeldung. 🙂 

Bei deiner 2. Variante kommt folgende Fehlermeldung (siehe Bild): 

 

zbostan_0-1634658260134.png

 

"Field 1" stellt in der Übersicht "A" dar. Was habe ich der RegEx Formel falsch dargestellt?

 

VG 

ZB

 

grossal
15 - Aurora
15 - Aurora

Hi @zbostan,

 

du musst die Formel so wie du sie geschrieben hast, in der Multi-Row Formel (mehrzeiligen Formel) eintragen - sorry, dass ich das verpeilt habe zu erwähnen. Wie das aussehen würde, könntest du in meinem vorherigen Post sehen, dort war ein Screenshot davon zu sehen, gerne mache ich dir aber auch nochmal einen mit der aktualisierten Formel falls es Probleme gibt.

 

Viele Grüße

Alex

ASTX
Meteoroid

Hallo Alex,

 

ich habe mir deinen Lösungsansatz zunutze gemacht, um bei mir auch leere Zellen zu ersetzen. Im Details sind es leere Felder bei Artikelgrößen.

Die Formel wird zwar erkannt, aber die Anpassung nicht vorgenommen:

Größen_Leerfelder.jpg

 

Jetzt ist es gut möglich, dass Null nicht gleich Null oder leer ist. Gibt es außer isnull noch andere Optionen leere Zellen zu identifizieren?

 

Vielen Dank

Andreas

 

PS: weshalb ich Leerfelder ersetze ist ganz einfach: Ich füge Artikelnummer und Grüße mit einem Trennzeichen zusammen. Bei Artikeln ohne Größen, bleibt dann Trennzeichen und das Ü stehen, das kann ich beiden über den Parser rausschmeißen und habe es sauber :)

grossal
15 - Aurora
15 - Aurora

Hallo @ASTX,

 

ich würde in deinem Fall mit "isempty()" arbeiten  (statt isnull), alternativ nutze ich manchmal auch "Length([Column]) <= 1" (Felder die eine Länge von 0 oder 1 haben) um diese rauszuwerfen.

 

Der Fehler in deiner Formel ist, dass du im 'then' Bereich einen Vergleich machst "Ist die Größe = Ü" - Sprich, er wirt dir in leere Zellen immer 0/False reinschreiben, weil du zuvor prüfst ob das Feld leer ist und es daher niemals Ü sein kann. 

 

2024-02-15_17-28-06_msedge_Gelöst_Alteryx_Inhalt_einer_Zelle_leeren_und_mit_n.png

 

 

 

Wenn du in alle Leeren Felder ein "Ü" reinschreiben willst, dann muss du "[Größe..]" weglassen.

 

 

VG Alex

 

 

ASTX
Meteoroid

Danke Alex,

 

ich habe es mit isempty() umgesetzt, das hat funktioniert. Habe mir gedacht, das es nur eine Kleinigkeit ist.

 

Viele Grüße

Andreas

Beschriftungen