obtenir des lignes deux semaines avant la date d'aujourd'huiBonjour,
Dans un script, j'aimerais pouvoir sélectionner des lignes qui sont deux semaines avant la date d'aujourd'hui.
J'aimerais exécuter le script et, selon le jour, JMP n'affiche que les deux dernières semaines.
Pour cela j'ai utilisé dans mon script la fonction "subset" et la fonction :
"get rows where" (:A> 40 &: A <59.5), et je voudrais ajouter quelque chose d'autre pour sélectionner les lignes correspondant à deux semaines avant la date d'aujourd'hui (la date à laquelle je vais exécuter le script)
Merci pour ton aide
Passe une bonne journée
ScriptRe : obtenir des lignes deux semaines avant la date d'aujourd'huiLe problème est que les colonnes spécifiées dans la phrase Subset n'étaient pas les noms des colonnes de la table de données.Vos noms sont en français, il suffit donc de changer les noms des colonnes dans le script pour qu'ils correspondent aux noms dans la table de données.
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where( :A > 20 & :A < 40 & :Date >= (Today() - In Weeks( 2 )) );
dtSub = dt << subset(
selected rows( 1 ),
columns( :Année, :B, :Quantième, :Mois, :Date, :Produit, :A ),
output table( "abc" )
);
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiVoici un exemple de ma base de données
Passe une bonne journée
Merci
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiVeuillez joindre un exemple de tableau de données.Je suppose que le problème est dans les données.Si cela ne fonctionne pas et qu'il n'y a pas de messages dans le journal, nous devons examiner ce qui se passe avec les données.
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiJe voudrais que le script permette d'abord de générer une autre base de données pour n'extraire que ce qui m'intéresse, puis d'envoyer le rapport par email pour ensuite fermer la nouvelle base de données sans la sauvegarder
Merci
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiVeuillez joindre un exemple de tableau de données, et je verrai où se situe le problème.
Aussi, pourquoi essayez-vous de faire cela en écrivant un script ?Tout cela peut être fait de manière interactive.
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiBonjour,
Désolé mais j'ai essayé votre code mais je n'y arrive toujours pas ..
Je débute dans la programmation de scripts, donc je n'ai pas les réflexes que d'autres peuvent avoir dans ce genre de petit script
Puis-je encore vous demander de l'aide ?
Merci
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiVous devez effectuer la sélection dans le tableau de données avant d'effectuer le sous-ensemble... voir ci-dessous
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where( :A > 20 & :A < 40 & :Date >= (Today() - In Weeks( 2 )) );
dtSub = dt << subset(
selected rows( 1 ),
columns( :Year, :B, :Month, :Week, :Date, :Product, :A ),
output table( "abc" )
);
Je n'ai pas entièrement testé le code, mais il devrait être très proche.
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiMerci, j'ai testé mais ça ne marche toujours pas
Ce que je cherche à faire est de créer une nouvelle base de ma base de données principale avec quelques colonnes qui m'intéressent et en précisant que je ne veux que la colonne A avec des valeurs comprises entre 20 et 40 et deux semaines avant aujourd'hui.
J'ai ceci:
dt = Current Data Table ();
dtSub = dt << subset (
Output Table ("abc"),
rows (dt << get rows where (: A> 20 &: A <40 &: Date> = Today () - InWeeks (2)));
columns (: Year,: B,: Month,: Week,: Date,: Product,: A)
);
Merci
Re : obtenir des lignes deux semaines avant la date d'aujourd'huiDans le Guide de création de scripts, sous « Date et heure », il y a une liste de toutes les fonctions Date et heure qui sont disponibles.Je suppose que vous voulez faire quelque chose comme:
theRows = dt << get rows where( :Date >= Today() - InWeeks(2));
ou pour revenir au début de la date actuelle (c'est-à-dire minuit)
theRows = dt << get rows where( :Date >= Today() - Time Of Day( Today() ) - InWeeks(2));