したがって、多くの同一の値を持つが、特定のポイントで増加する 2 つの列のデータがあります。 それらは、データ ポイントの月と日付です。 例:
| 月 |
日 |
ご希望のカウンター: |
| 1 |
1 |
1 |
| 1 |
1 |
1 |
| 2 |
2 |
2 |
| 2 |
3 |
3 |
| 3 |
1 |
4 |
| 3 |
1 |
4 |
値が変更されない限りインクリメントしたくないので、ラグの使用に失敗しました。 次のようなさまざまなソリューションを試しました。
If(
Row() == 1, 1,
Lag( :Month, 1 ) & Lag( :Day, 1 ), Lag( :DesiredCounter, 1 )
)
似たような解決投稿されましたが、両方の列を考慮に入れる必要があるため、うまくいきませんでした。 誰かがこれを手伝ってくれますか? ありがとう
ああ、すみません、x の列をサブインする必要があると思いました。 気にしないでください、うまくいきます、ありがとう!!!
サンプル データ テーブルを作成し、式を [Desired Counter:] 列に適用するスクリプトを次に示します。
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;
)
)
)
次のデータ テーブルが生成されます。

ねえ、ジム、
お返事をありがとうございます。 だから私はこれを試してみましたが、まだ1がたくさんあります。 他に追加する必要があるものはありますか? X は目的のカウント列ですよね? ありがとう
これが私が通常これを行う方法です:
If( Row() == 1,
x = 1,
If( Lag( :Month ) != :Month | Lag( :day ) != :Day,
x = x + 1
)
);
x;