So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungHallo zusammen,
Ich habe den folgenden Code, der nicht funktioniert:
// 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;Das Ziel besteht darin, alle Zeilen aus dt (Datentabelle) auszuwählen, deren Datum < 01/aktueller Monat/aktuelles Jahr -1 ist, und sie zu löschen.
Ich verstehe den Fehler, dass ich keine anderen Elemente als Zeichen verketten kann, aber wie kann ich das Datum im Format 10.01.2022 (z. B. Erwartung von heute) erhalten, ohne zum Code zurückzukehren und das Datum manuell zu ändern?
Die Fehlermeldung lautet: Argument sollte Zeichen in Zeile xxx beim Zugriff oder bei der Auswertung von „Concat“ sein, schlechtes Argument (numero_mois), „01“ || /*###*/numero_mois || /*###*/numero_annee/*###*/
Der aktuelle Code lautet (muss jeden Monat manuell geändert werden):
dt << select where(:name("date") < informat("01102022","DDMMYYYY"));
dt << Delete rows;Vielen Dank !
Beste grüße
Automatisierung und SkripterstellungBetreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungDas aktuelle Datum können Sie mit abrufen Heute() und eine Option zum Abrufen des ersten Tages des Monats ist die Verwendung Datumserhöhung()
Names Default To Here(1);
Date Increment(Today(), "Month", 0, "start");
und dann können Sie dies abhängig von Ihren Daten direkt verwenden, ohne Char-Transformationen durchzuführen (in JMP verwenden Sie Verkohlen() nicht Text() welches ChatGPT? versucht zu verwenden).
Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungSie machen das Problem komplexer als nötig.So würde ich es machen:
dt << select where( :Date < Date MDY( 1, Month( today ), Year( Today() ) - 1 ) );
try( dt << delete rows );
Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungHallo txnelson und jthi, danke für eure Hilfe, der folgende Code funktioniert
dt << select where( :Date < Date DMY( 1, Month( today ), Year( Today() ) - 1 ) );
Ich habe gerade das Datum MDY in Date DMY geändert.
Wir lernen jeden Tag mit JMP
.
Beste grüße !
Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungVerehrte Gäste,
Heute ist mir aufgefallen, dass der Code nicht zu funktionieren scheint, wenn sich zwei Monate überschneiden, Beispiel heute: 11.06.2023 – 7 Tage = 30.10.2023.
Ich habe die Lösung nicht gefunden. Soll ich die Bedingungen hervorheben? (durch Verwendung von „if“).
Danke !
Beste grüße
Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungIch bin mir nicht ganz sicher, was Sie mit „zwei Monate Überschneidung“ meinen? Wollten Sie nicht alle Zeilen löschen, die vor dem ersten Tag des aktuellen Monats des letzten Jahres liegen? Woher kommen die -7 Tage?
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;
*/Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungHallo jthi,
Ich möchte alle Zeilen vor heute löschen – 7 Tage (unabhängig vom aktuellen Monat und Jahr)
.
Danke !
Beste grüße
Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungHier sind einige Optionen, wie Sie diese Zeilen auswählen können. Es gibt eine Beispieltabelle, sodass Sie leichter erkennen können, welche Zeilen ausgewählt werden
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;
*/Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungHallo jthi,
Vielen Dank, dieser Code
dt << Select Where(Date Difference(:Date, Today(), "Day") > 7);
funktioniert perfekt !
Beste grüße
Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungKönnen Sie den Prozess der Skripterstellung des Datums des aktuellen Monats erläutern, um eine genaue Datenzusammenstellung sicherzustellen?
Betreff: So erstellen Sie ein Skript für das Datum des aktuellen Monats für die DatenkompilierungWenn Sie nur den ersten Tag des Monats möchten, verwenden Sie Today(), um das heutige Datum zu erhalten, und dann Monat und Jahr mit Datum DMY, um Ihr Datum zu erstellen
now = Today();
first_of_month = Date DMY(1, Month(now), Year(now));
Show(As Date(first_of_month));