Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
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 04/01/2012, 12h58   #1
Candidat au titre de Membre du Club
 
Femme
Conseil - Consultant en systèmes d'information
Inscription : novembre 2011
Messages : 80
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Maroc

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 80
Points : 12
Points : 12
Par défaut Mise à jour automatique d'une table

Bonjour,

J'ai une table alimentée par un fichier excel, de temps en temps il y'a des modifications au niveau du fichier excel, je voudrais savoir commentprocéder pour que la table prend en compte ces modifs sans réexécuter le processus qui importe les données du fichier excel dans cette table.
aminao est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 04/01/2012, 13h46   #2
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 717
Points : 1 717
déjà le code utilisé pour l'importation.
puis quoi comme modif?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 14h27   #3
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 150
Points : 1 772
Points : 1 772
quel est le rapport avec sas? si tu importes a un moment donne ton fichier excel et que tu le modifies par la suite, les modifications n'apparaitront pas dans sas... tu fais quoi sous sas avec tes donnees?
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 17h53   #4
Membre Expert
 
Inscription : mars 2005
Messages : 1 011
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 011
Points : 1 259
Points : 1 259
Envoyer un message via Yahoo à bahraoui
Citation:
Envoyé par aminao Voir le message
Bonjour,

J'ai une table alimentée par un fichier excel, de temps en temps il y'a des modifications au niveau du fichier excel, je voudrais savoir commentprocéder pour que la table prend en compte ces modifs sans réexécuter le processus qui importe les données du fichier excel dans cette table.
Tu as pensé à utiliser un libname XLS? je ne sais pas si c'est la bonne solution, tu peux vérifier.
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 18h03   #5
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 717
Points : 1 717
de toute façon s'elle parle de modification de nombre ou type de colonne, la proc import peut gerer ce coté là. après comme dit MANOUTZ sa depend des traitements dans le PGM SAS.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 17h59   #6
Candidat au titre de Membre du Club
 
Femme
Conseil - Consultant en systèmes d'information
Inscription : novembre 2011
Messages : 80
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Maroc

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 80
Points : 12
Points : 12
Bonjour,

Je pense que j'étais po assez claire, J'ai une table REFERENTIEL_ETPAES
alimentée par un fichier excel.

Cette table contient un champ nommé "Flag" initialisé à 0
Ce champ peut prendre les valeurs {0,1,2,3}. D'autre côté, j'ai un programme

Code :
1
2
3
4
5
6
%Macro Calcul_SM()
..............
%IF &flag=0 %then %do; /*Traitement1*/;%end;
%IF &flag=1 %then %do; /*Traitement2*/;%end
%IF &flag=2 %then %do; /*Traitement3*/;%end
%IF &flag=3 %then %do; /*Traitement4*/;%end

Cette macro lit de la table REFERENTIEL_ETAPES, je voudrais si j'ai modifié dans le fichier excel flag=1, la table REFERENTIEL_ETAPES prend en compte cette modification sans réexécuter l'import du fichier excel., comme ca le programme lance le traitement convenable.
aminao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 18h32   #7
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 717
Points : 1 717
sans impoter à nouveau les données de Excel?
non pas possible
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 19h41   #8
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 150
Points : 1 772
Points : 1 772
Apres si c'est l'utlisateur qui apporte manuellement la connaissance "la table excel a ete modifiee" (ou le cas inverse), tu peux te passer d'importer systematiquement la table excel, mais seulement dans le cas ou l'utilisateur indique une modifcation de la table (en esperant qu'il ne se trompe pas).

En resume: si la variable flag est dans excel: tu es bon pour une importation systematique, pour savoir si modifcation il a eu. Et puis au fond c'est pas genant d'importer systematiquement depuis excel et de faire des traitements si seulement flag une valeur donnees. Si l'utilisateur a la connaissance, il peut adapter un appel macro, ou tout simplement relancer un import de la base excel (ca depend de ce que fait ton programme dans son ensemble). Suivant les traitement que tu effectues, il est possible que tu puisse te passer des % dans %if %then %do et %end. Mais la solution "manuelle" n'est quand meme pas la plus recommendable..
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 10h28   #9
Membre expérimenté
 
Inscription : avril 2009
Messages : 538
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 538
Points : 541
Points : 541
c'est un peu possible

mais je ne le conseillerait pas :
Citation:
Using the DDE HOTLINK

If the HOTLINK option is specified, the DDE link is activated every time the data in the specified spreadsheet range are updated. In addition, DDE enables you to poll the data when the HOTLINK option is specified to determine whether data within the range specified have been changed. If no data have changed, the HOTLINK option returns a record of 0 bytes. In the following example, row 1, column 1 of the spreadsheet SHEET1 contains the daily production total. Every time the value in this cell changes, SAS reads in the new value and outputs the observation to a data set. In this example, a second cell in row 5, column 1 is defined as a status field. Once the user completes data entry, typing any character in this field terminates the DDE link:

/* Enter data into Excel SHEET1 in */
/* row 1 column 1. When you */
/* are through entering data, place */
/* any character in row 5 */
/* column 1, and the DDE link is */
/* terminated. */

filename daily
dde 'excel|sheet1!r1c1' hotlink;
filename status
dde 'excel|sheet1!r5c1' hotlink;
data daily;
infile status length=flag;
input @;
if flag ne 0 then stop;
infile daily length=b;
input @;

/* If data have changed, then the */
/* incoming record length */
/* is not equal to 0. */

if b ne 0 then
do;
input total $;
put total=;
output;
end;
run;

It is possible to establish multiple DDE sessions. The previous example uses two separate DDE links. When the HOTLINK option is used and there are multiple cells referenced in the item specification, if any one of the cells changes, then all cells are transmitted.

Unless the HOTLINK option is specified, DDE is performed as a single one-time data transfer. The values currently stored in the spreadsheet cells at the time that the DDE is processed are values that are transferred.
X
xav2229 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 03h54.


 
 
 
 
Partenaires

Hébergement Web