データ編集のために当月の日付をスクリプト化する方法こんにちは、みんな、
機能しない次のコードがあります。
// Current date
aujourd'hui = Text(Today(),"00000000");
// Obtain the month number format "MM"
numero_mois = Text(Month(aujourd'hui), "00");
// Obtain the year number - 1 format YYYY
numero_annee = Text(Year(aujourd'hui) - 1, "0000");
// Concatenate the result
date_debut_mois_actuel_Y = ("01" || numero_mois || numero_annee);
// Show the result
Show(date_debut_mois_actuel_Y);
dt << Select Where(:Date < date_debut_mois_actuel_Y);
dt << Delete rows;目的は、日付が < 01/現在の月/現在の年 -1 である dt (データ テーブル) からすべての行を選択し、それらを削除することです。
文字以外の要素を連結できないというエラーは理解していますが、コードに戻って手動で日付を変更せずに、01/10/2022 (たとえば今日の予定) という形式で日付を取得するにはどうすればよいですか。
エラー メッセージは次のとおりです。引数は 'Concat' のアクセスまたは評価の行 xxx の文字である必要があります。不正な引数( numero_mois )、"01" || /*###*/numero_mois || /*###*/numero_annee/*###*/
最新のコードは次のとおりです (毎月手動で変更されます)。
dt << select where(:name("date") < informat("01102022","DDMMYYYY"));
dt << Delete rows;どうもありがとうございます !
よろしくお願いします
自動化とスクリプト作成Re: データ編集用に当月の日付をスクリプト化する方法現在の日付を取得するには、次を使用します。今日()月の最初の日を取得するオプションの 1 つは、日付の増分()
Names Default To Here(1);
Date Increment(Today(), "Month", 0, "start");
データに応じて、Char 変換を実行せずにこれを直接使用できます (JMP では使用します)文字() Text() ではなく ChatGPT ですか?を使用してみます)。
Re: データ編集用に当月の日付をスクリプト化する方法問題を必要以上に複雑にしています。私ならそれを行う方法は次のとおりです。
dt << select where( :Date < Date MDY( 1, Month( today ), Year( Today() ) - 1 ) );
try( dt << delete rows );
Re: データ編集用に当月の日付をスクリプト化する方法こんにちは、txnelson と jthi、ご協力ありがとうございます。次のコードは動作しています。
dt << select where( :Date < Date DMY( 1, Month( today ), Year( Today() ) - 1 ) );
日付 MDY を日付 DMY に変更しました。
私たちは JMP で毎日勉強しています
。
よろしくお願いします !
Re: データ編集用に当月の日付をスクリプト化する方法親愛なるみんな、
今日、2 か月が重なるとコードが機能しないことに気づきました。たとえば、今日: 06/11/2023 - 7 日 = 30/10/2023 です。
解決策が見つかりませんでした。条件を強調表示する必要がありますか? (「if」を使用)。
ありがとう !
よろしくお願いします
Re: データ編集用に当月の日付をスクリプト化する方法「2か月が重なる」という意味がよくわかりません。 昨年の今月の 1 日より前の行をすべて削除するつもりではなかったのですか? -7日というのはどこから来たのでしょうか?
Names Default To Here(1);
dt = New Table("Dates",
Add Rows(1000),
New Column("Date", Numeric, Continuous, Format("yyyy-mm-dd", 10), Set Each Value(
Today() - In Days(Row())
))
);
dt << Sort(By(:Date), Replace Table, Order(Ascending));
dt << Select Where(
:Date < Date Increment(Today() - In Years(1), "Month", 0, "start");
);
// dt << select where(:Date < Date DMY(1, Month(Today()), Year(Today()) - 1));
/*
dt << Previous Selected;
*/Re: データ編集用に当月の日付をスクリプト化する方法こんにちは。
今日 - 7 日前 (現在の月と年に関係なく) より前のすべての行を削除したいと思います:)。
ありがとう !
よろしくお願いします
Re: データ編集用に当月の日付をスクリプト化する方法これらの行を選択する方法に関するいくつかのオプションを次に示します。 サンプルテーブルがあるので、どの行が選択されているかが簡単にわかります
Names Default To Here(1);
dt = New Table("Dates",
Add Rows(1000),
New Column("Date", Numeric, Continuous, Format("yyyy-mm-dd", 10), Set Each Value(
Today() - In Days(Row())
))
);
dt << Sort(By(:Date), Replace Table, Order(Ascending));
dt << Select Where(
:Date < Date Increment(Today() - In Days(7), "Day", 0, "start");
);
// or using Date Difference
// dt << Select Where(Date Difference(:Date, Today(), "Day") > 7);
// comparison between date and today (depending in your data, removing time of day might be needed)
// dt << Select Where(:Date - Time Of Day(:Date) < Today() - In Days(7) - Time Of Day(Today()));
/*
dt << Previous Selected;
*/Re: データ編集用に当月の日付をスクリプト化する方法こんにちは。
ありがとうございます、このコード
dt << Select Where(Date Difference(:Date, Today(), "Day") > 7);
完璧に動作します!
よろしくお願いします
Re: データ編集用に当月の日付をスクリプト化する方法正確なデータを確実に編集するために今月の日付をスクリプト化するプロセスについて説明していただけますか?
Re: データ編集用に当月の日付をスクリプト化する方法月の最初の日だけが必要な場合は、Today() を使用して今日の日付を取得し、次に Date DMY を使用して月と年を作成して日付を作成します。
now = Today();
first_of_month = Date DMY(1, Month(now), Year(now));
Show(As Date(first_of_month));