列 1 = 年 (例、2021、2022)
列 2 = 月 (例、10 月、4 月、)
列 4 = 日 (例、9、10、11)
(列 1、2、3 = 文字列)
計算式を追加して年、月、月を結合して日付形式の新しい列を作りたいです。
どうすればいいですか?
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Date",
Format( "m/d/y" ),
formula(
theList = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec"};
Date MDY( Contains( theList, :month ), Num( :day ), :year );
)
);
これをインタラクティブに行っている場合は、Cols プルダウン メニューに移動し、New Columns を選択します。
- 名前を日付に変更するか、その他の名前に変更します
- フォーマットの下矢印をクリックし、Dage=>m/d/y を選択します。
- [OK] をクリックします。
- 新しい列のヘッダーを右クリックし、[数式] を選択します。
- 上の式に式を貼り付けます
- [OK] をクリックします。
まず、あなたの答えをどうもありがとう
皆さんのたくさんの回答を見ながらJMPを勉強中です
この質問では十分に説明できなかったと思うので、もう一度説明します
またお役に立てましたら大変助かります
下のJMPの絵の4列目の目標の形にしたい
concat関数を使えば形が作れる
でも問題は文字型になること
date/m/d/y の形式の日付型になりたい
そうして初めて、他のデータテーブルの日付ごとの支払い額を一致させることができます

お尋ねの内容は理解できました。私が投稿したスクリプトと手順は、1 つの小さな問題を除いて機能します。あなたの Year 列は数値であると想定しました。Day 列は文字であり、Month 列は文字でなければならないことを明確に指摘しました。ただし、Year 列が何であるかを指定していないため、数値であると想定しました。以下のコードは、表示したサンプル データ テーブルを再作成し、ターゲット列に使用される m/d/y 形式で新しい列を作成します。
Names Default To Here( 1 );
// Recreate the Sample Data Table
New Table( "Sample",
Add Rows( 4 ),
New Column( "Year", Character, "Nominal", Set Values( {"2022", "2022", "2022", "2022"} ) ),
New Column( "Month", Character, "Nominal", Set Values( {"Jan", "Jan", "Jan", "Jan"} ) ),
New Column( "Day", Character, "Nominal", Set Values( {"1", "2", "3", "4"} ) )
);
// Create the Target column
dt = Current Data Table();
dt << New Column( "Target",
Format( "m/d/y" ),
formula(
theList = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec"};
Date MDY( Contains( theList, :month ), Num( :day ), Num( :year ) );
)
);
