Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/11/2011, 16h15   #1
Invité de passage
 
Inscription : octobre 2008
Messages : 9
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2008
Messages : 9
Points : 0
Points : 0
Par défaut Fonction permettant de créer un nom de table à partir du mois précendant la date du jour

Bonjour,

Je reviens sur ce forum car, comme à chaque fois, je ne trouve pas la solution de mon côté...

Je dois exécuter un programme de ma conception tous les mois. Ce programme crée une table que je stocke dans une bibliothèque. Je donne à cette table un nom comprenant la date du jour de l'exécution.
Dans ce programme, il se fait un croisement entre cette table nouvellement créée et la table créée le mois précédent. Le truc c'est que je voudrais automatiser entièrement l'exécution de ce programme et donc que l'attribution du nom, le test de présence du nom contenant le mois précédent et le croisement entre les 2 tables soient présent dans un seul et même programme.
Et là, ça me dépasse un peu. J'arrive bien à récupérer la date, l'année ou le mois en cours dans une macro mais je n'arrive pas à faire en sorte qu'il me calcule le mois d'avant.

Si quelqu'un pouvait m'aider, ça serait vraiment sympa.

Merci d'avance
vince_est est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 16h33   #2
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 957
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 957
Points : 1 368
Points : 1 368
Bonjour,

La fonction intnx est adaptée pour ça:

Code :
1
2
3
4
5
DATA test;
format date date2 ddmmyy10.;
date =mdy(14,11,2011);
date2=intnx('month',date,-1);
run;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 20h38   #3
Membre régulier
 
Femme Mariam
Statisticienne-Consultante BI
Inscription : avril 2008
Messages : 127
Détails du profil
Informations personnelles :
Nom : Femme Mariam
Localisation : Canada

Informations professionnelles :
Activité : Statisticienne-Consultante BI
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 127
Points : 96
Points : 96
Effectivement la fonction marche bien, cependant dans le programme de MEGAMIND2 dans le mdy il faudrait mettre le (mois, jour, année) donc mdy(11,14,2011). Sinon erreur pour le 14 mois !
MDsas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 09h34   #4
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 713
Points : 1 713
Le mois M-1 dans une macro variable:
Code :
1
2
 
%let mois_avant = %sysfunc(intnx(month, "&SYSDATE"D, -1), DATE9.);
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 09h57   #5
Invité de passage
 
Inscription : octobre 2008
Messages : 9
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2008
Messages : 9
Points : 0
Points : 0
Super, avec tout ça, je devrais pouvoir m'en sortir.

Merci beaucoup à tous
vince_est est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 12h26   #6
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 957
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 957
Points : 1 368
Points : 1 368
Citation:
Envoyé par MDsas Voir le message
Effectivement la fonction marche bien, cependant dans le programme de MEGAMIND2 dans le mdy il faudrait mettre le (mois, jour, année) donc mdy(11,14,2011). Sinon erreur pour le 14 mois !
C'est une coquille, merci Mariam!!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h41.


 
 
 
 
Partenaires

Hébergement Web