こんにちは、
これは作成するのがかなり簡単な式だと思いましたが、私は自分自身でフォーマットエラーを受け取ることに気づきました。
月(10月、11月、12月など)を含む文字型の列があります。 「season」という新しい列を作成し、IF(「月が10月の場合はclaasifiyの場合は... =秋」のように4つのカテゴリ(夏、冬、春、秋)を作成するIFを作成しました。。 ただし、CONTAINSはORを取りません。
すなわち
((:月、"October" | "November")、"fall"、Empty())を含む場合
何が足りないの?任意の援助はいただければ幸いです。
イアン、
うまくいった!きれいできれい。
jmpコミュニティの皆さん、そしてありがとうございました。
乾杯!
Jimが指摘しているように、この構文ではORステートメントがステートメント内でcolumn =を繰り返すことを要求しています。 matchはよりうまく機能しますが、なぜカラムRecodeユーティリティ(matchの式を生成する)を使わないのですか?
値の一覧について列を検索できます。 これがそのアプローチを使用する公式です。
dt = New Table( "test", Add Rows( 12 ),
New Column( "Month", Character, "Nominal",
Set Values(
{"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"}
)
),
New Column( "Season",
Character,
"Nominal",
Formula(
spring_list = {"March", "April", "May"};
summer_list = {"June", "July", "August"};
fall_list = {"September", "October", "November"};
winter_list = {"December", "January", "February"};
If( Contains( spring_list, :Month ), "Spring",
Contains( summer_list, :Month ), "Summer",
Contains( fall_list, :Month ), "Fall",
Contains( winter_list, :Month ), "Winter",
);
)
)
);If(Contains(:month, "October") | Contains(:month, "November"), "fall", "")
上記はあなたがとっていたアプローチに対する正しい構文です。 しかし、Ianのアプローチは読みやすく、したがってより適切な方法です。
'Help> Scripting Index'の 'Match()'関数を見てください。