Erstens... Ich bin ein Neuling in der Skripterstellung und arbeite derzeit im Formeleditor. Ich versuche etwas zu tun, von dem ich dachte, dass es ziemlich einfach wäre ...
Ich habe zwei Datenspalten. Die erste Spalte enthält Statuswerte, die für einen bestimmten Zeitraum gleich sind, sich dann ändern und für einen bestimmten Zeitraum wieder konstant bleiben. Zum Beispiel...
AUS
AUS
AUS
AUS
AUS
AN
AN
AN
usw.
In der zweiten Spalte möchte ich bei jeder Statusänderung eine Zahl erhöhen. Im obigen Beispiel wären also die AUS-Werte 1, die EIN-Werte 2, der nächste Satz AUS-Werte wäre 3 usw.
Im Moment erstelle ich eine bedingte Anweisung wie diese ...
Wenn ( :C1-Status[ Reihe ()] == :C1 Status[ Reihe () + 1 ],
:X,
:x = :x + 1
)
Wobei C1 Status die AUS/EIN-Zeile ist. Ich habe x als Tabellenvariable eingerichtet, die zunächst gleich 1 ist.
Aber ich erhalte eine Art Zykluswarnung, die jedoch nicht inkrementiert wird.
Jede Hilfe wäre dankbar.
Brillant! Lief wie am Schnürchen. Danke!
Hallo Scott,
Ich neige dazu, die LAG-Funktion für diese Art von Operation zu verwenden, wie unten gezeigt:
If( Row() == 1,
1,
If( :C1== Lag( :C1, 1 ),
Lag( :PERIOD, 1 ),
Lag( :PERIOD, 1 ) + 1
)
)
Es ist nicht so elegant, aber zuverlässig.
Am besten,
TS