Cómo escribir la fecha del mes actual para la compilación de datosHola a todos,
Tengo el siguiente código que no funciona:
// 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;El objetivo es seleccionar todas las filas de dt (Tabla de datos) cuya fecha es <01/mes actual/año actual -1 y eliminarlas.
Entiendo el error, que no puedo concatenar otros elementos además del carácter, pero ¿cómo puedo obtener la fecha bajo el formato 10/01/2022 (expectativa de hoy por ejemplo), sin volver al código y cambiar manualmente la fecha?
El mensaje de error es: el argumento debe ser un carácter en la fila xxx en el acceso o evaluación de 'Concat', argumento incorrecto (numero_mois), "01" || /*###*/numero_mois || /*###*/numero_annee/*###*/
El código actualizado es (a modificar manualmente cada mes):
dt << select where(:name("date") < informat("01102022","DDMMYYYY"));
dt << Delete rows;Muchas gracias !
Atentamente
Automatización y secuencias de comandosRe: Cómo escribir la fecha del mes actual para la compilación de datosPuede obtener la fecha actual usando Hoy() y una opción para obtener el primer día del mes es usar Incremento de fecha()
Names Default To Here(1);
Date Increment(Today(), "Month", 0, "start");
y luego, dependiendo de sus datos, puede usarlo directamente sin realizar ninguna transformación Char (en JMP usa Carbonizarse() no Texto() ¿qué ChatGPT? intenta utilizar).
Re: Cómo escribir la fecha del mes actual para la compilación de datosEstá haciendo que el problema sea más complejo de lo necesario.Así es como lo haría:
dt << select where( :Date < Date MDY( 1, Month( today ), Year( Today() ) - 1 ) );
try( dt << delete rows );
Re: Cómo escribir la fecha del mes actual para la compilación de datosHola txnelson y jthi, gracias por tu ayuda, el siguiente código está funcionando
dt << select where( :Date < Date DMY( 1, Month( today ), Year( Today() ) - 1 ) );
Acabo de cambiar la fecha MDY a la fecha DMY.
Aprendemos todos los días con JMP
.
Atentamente !
Re: Cómo escribir la fecha del mes actual para la compilación de datosEstimados,
Hoy me di cuenta de que el código no parece funcionar cuando se superponen dos meses, por ejemplo hoy: 11/06/2023 - 7 días = 30/10/2023.
No encontré la solución, ¿debería resaltar las condiciones? (usando "si").
Gracias !
Atentamente
Re: Cómo escribir la fecha del mes actual para la compilación de datosNo estoy exactamente seguro de lo que quiere decir con "dos meses superpuestos". ¿No quiso eliminar todas las filas anteriores al primer día del mes actual del año pasado? ¿De dónde vienen los -7 días?
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: Cómo escribir la fecha del mes actual para la compilación de datosHola jthi,
Me gustaría eliminar todas las filas anteriores a hoy: 7 días (independientemente del mes y año actual)
.
Gracias !
Atentamente
Re: Cómo escribir la fecha del mes actual para la compilación de datosAquí hay algunas opciones sobre cómo seleccionar esas filas. Hay una tabla de ejemplo para que sea más fácil ver qué filas se están seleccionando
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: Cómo escribir la fecha del mes actual para la compilación de datosHola jthi,
Muchas gracias, este código.
dt << Select Where(Date Difference(:Date, Today(), "Day") > 7);
funciona perfectamente !
Atentamente
Re: Cómo escribir la fecha del mes actual para la compilación de datos¿Puede explicar el proceso de escribir la fecha del mes actual para garantizar una recopilación de datos precisa?
Re: Cómo escribir la fecha del mes actual para la compilación de datosSi solo desea el primer día del mes, use Hoy() para obtener la fecha de hoy y luego Mes y Año con Fecha DMY para crear su fecha.
now = Today();
first_of_month = Date DMY(1, Month(now), Year(now));
Show(As Date(first_of_month));