semaine glissanteBonjour à tous,
J’ai une base de données qui contient des données de début 2019 à Avril 2023.
J’ai créé un script qui, quand je le relance ajoute chaque semaine les nouvelles données de 2023.
Pour éviter que ce fichier ne devienne trop lourd, j’aimerais quand je relance le script en début de semaine pouvoir supprimer une semaine glissante.
Par exemple aujourd’hui nous sommes en semaine 21 (S21) de 2023. Quand je lance le script aujourd’hui, que je puisse supprimer la S1 de 2019 pour après rajouter la S21 de 2023.
La semaine prochaine nous serons en S22 2023, le script va rajouter cette nouvelle semaine, en même temps j’aimerai pouvoir supprimer la S2 de 2019, ainsi de suite...
Cependant, si je lance le script plusieurs fois dans la même semaine il ne faudrait pas qu’il supprime plusieurs semaines consécutives.
Exemple : Si je lance le script 3 fois en S21 2023, juste qu’il supprime S1 2019 et pas S1/S2/S3 2019 (car j’ai lancé le script 3 fois)
Je dispose dans ma base de données d’une colonne « Date début » qui sera utile au développement du script. Voici un aperçu de la colonne ci-dessous :

Merci pour votre aide
Data AccessData Blending and CleanupRe: semaine glissanteJe ne connais pas l'objectif du tableau de données mis à jour, donc cette suggestion pourrait ne pas être utile. Au lieu de supprimer des lignes, vous pouvez calculer un état de ligne continu pour les lignes exclues dans une colonne de formule ou avec un script. Vous avez dit que vous vouliez éviter que le tableau de données ne devienne trop lourd, donc cette approche pourrait ne pas convenir à votre objectif.
Re: semaine glissantePour éviter d'alourdir la table de données, mon but est d'ajouter des nouvelles données mais en contre partie supprimer les "vieilles" données. Cela permettrait à la table de données d'avoir un équilibre par rapport à la taille du fichier.
J'aimerais écrire un script permettant de faire ce que j'ai précisé dans mon premier message.
Re: semaine glissanteExtrayez-vous des données d'une base de données dans une table de données JMPM ? Si tel est le cas, vous pouvez utiliser une clause WHERE pour spécifier la période.
Re: semaine glissanteEnvisagez d'utiliser la fonction Incrément de date. Dans cet exemple, Date Increment compte 230 semaines dans le passé et renvoie la date du premier jour de cette semaine (dimanche). Ensuite, nous sélectionnons simplement toutes les lignes avec des dates de début avant cette date et les supprimons. Au cours d'une semaine où vous exécutez le script, la date renvoyée par l'incrément de date sera la même, vous pouvez donc mettre à jour votre table de données plusieurs fois par semaine sans déclencher une suppression de données indésirable.
Names Default to Here( 1 );
deleteDate = Date Increment( Today(), "Week", -230, "start" );
Data Table( "Rolling Week.jmp" ) << Select Where( :Start Date < deleteDate );
Data Table( "Rolling Week.jmp" ) << Delete Rows;