Sie möchten hochzählen, wenn in einer der beiden Datenspalten eine Änderung auftrittIch habe also zwei Datenspalten, die viele identische Werte haben, die sich aber an bestimmten Punkten erhöhen. Dies sind der Monat und das Datum der Datenpunkte. Beispiel:
| Monat |
Tag |
Gewünschter Zähler: |
| 1 |
1 |
1 |
| 1 |
1 |
1 |
| 2 |
2 |
2 |
| 2 |
3 |
3 |
| 3 |
1 |
4 |
| 3 |
1 |
4 |
Ich habe erfolglos versucht, Lag zu verwenden, da ich kein Inkrement möchte, es sei denn, ein Wert ändert sich. Ich habe verschiedene Lösungen ausprobiert, darunter:
If(
Row() == 1, 1,
Lag( :Month, 1 ) & Lag( :Day, 1 ), Lag( :DesiredCounter, 1 )
)
Ein ähnliches Lösung wurde gepostet, hat aber bei mir nicht funktioniert, da ich beide Spalten berücksichtigen muss. Kann jemand dabei helfen? Danke
Betreff: Sie möchten hochzählen, wenn in einer der beiden Datenspalten eine Änderung auftrittOh, tut mir leid, ich dachte, ich müsste eine Spalte für x eintragen. Egal, es funktioniert, danke!!!
Betreff: Sie möchten hochzählen, wenn in einer der beiden Datenspalten eine Änderung auftrittHier ist ein Skript, das Ihre Beispieldatentabelle erstellt und die Formel auf die Spalte „Gewünschter Zähler:“ anwendet
New Table( "Example",
Add Rows( 6 ),
New Column( "Month",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 1, 2, 2, 3, 3] )
),
New Column( "Day",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 1, 2, 3, 1, 1] )
),
New Column( "Desired Counter:",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( Row() == 1,
x = 1,
If( Lag( :Month ) != :Month | Lag( :Day ) != :Day,
x = x + 1
)
);
x;
)
)
)
Es erzeugt diese Datentabelle:

Betreff: Sie möchten hochzählen, wenn in einer der beiden Datenspalten eine Änderung auftrittHallo Jim,
Danke für deine Antwort. Also habe ich es versucht und bekomme immer noch ein paar Einsen. Gibt es noch etwas, das ich hinzufügen muss? X ist unsere gewünschte Zählspalte, oder? Danke
Betreff: Sie möchten hochzählen, wenn in einer der beiden Datenspalten eine Änderung auftrittSo mache ich das normalerweise:
If( Row() == 1,
x = 1,
If( Lag( :Month ) != :Month | Lag( :day ) != :Day,
x = x + 1
)
);
x;