logo

Formats

Performance : Gestion des index – compression

Bonjour, J’utilise de très grosses tables (plusieurs millions de lignes; entre 10 et 50 variables) que j’ai créées à partir de fichiers texte. Pour les variables caractères, c’est le nombre que j’ai précisé après $ qui a été pris en compte. Pour les champs numériques c’est Best12, quelle que soit la longueur que j’avais spécifiée. J’ai crée des index sur mes tables. Les temps d’accès sont relativement longs je trouve. Je pensais compresser mes tables. Comment m’assurer que mes tables […]

Formats : Format à partir d’une table

Bonjour, Je fais un format à partir d’une table sas, jusque-là pas de problème. Mon souci est lorsque j’applique ce format, pour les valeurs qu’il ne trouve pas il n’applique aucun format. Je voudrais ajouter dans mon format une ligne pour les « other » valeurs. Voilà mon pgm : <b>data format.fmtDRCourt; set tdbprod.BaseCourtiers (keep=gc DR rename=(gc=start dr=label)); by start; type="N"; /* N Numérique */ fmtname="DRCOURT"; run; proc format lib=format cntlin = format.fmtDRCourt /*fmtlib*/; run;</b>   Je vous propose la variante suivante. […]

Formats : créer un format pour une variable de format date

Bonjour, j’ai une variable date dans un fichier, et je souhaite faire la répartition en fonction de tranche gérées par un format que je crée… et je n’arrive pas à créer ce format (sans passer par le calcul du nombre de jours correspondants à ma date..) j’ai essayé ça : <b>proc format; value anccrea    low- mdy(12,31,2002) = "1- avant 01/2003"    mdy(12,31,2002)-mdy(12,31,2004)= "2- entre 2003 et 2004 "    mdy(12,31,2004)-high= "3- depuis 2005 "    other ="???"; run; </b> et ça <b>proc format; […]

Format : Créer un label avec une apostrophe

Bonjour, Je souhaiterais créer un label pour une variable contenant une apostrophe. Mais, SAS prend cette apostrophe comme la fin du label : <strong>proc format;</strong> <strong> value $test</strong> <strong> '10' = 'l'arbre';</strong> <strong> run;</strong> Comment faire comprendre à SAS qu’il ne s’agit pas de la fin du label ? Merci Bonjour. Le plus simple pour résoudre votre problème est tout simplement d’écrire votre libellé entre guillemets doubles. Il n’y aura alors pas de confusion avec les apostrophes. Dans SAS, les […]

Formats : Remplacer les points par les virgules

Bonjour, J’ai généré 1 fichier pdf avec des proc tabulate. Comment faire pour remplacer les points par des virgules dans ma sortie? Merci.   Bonjour. PROC TABULATE DATA = … FORMAT = NUMX12.2 ; devrait faire l’affaire.

Formats : format français

Bonjour, Je voudrais obtenir mes résultats avec un format français, notamment pour remplacer tous les points par des virgules. Il me semble qu’il faut utiliser la fonction LOCALE= , mais je ne trouve pas la syntaxe exacte, ni où il faut la placer exactement dans un programme.   Bonjour. Pour obtenir des affichages « européens » avec une virgule en guise de séparateur décimal, on peut d’abord utiliser le format NUMXc.d avec, comme d’habitude dans un format, c le nombre total de […]

Formats : format pour comparer un groupe à l’ensemble de la population

Bonjour, Dans le cadre d’un travail sur le marché du logement, je souhaiterais comparer le comportement des moins de 35 ans au comportement de l’ensemble de la population. Pour cela, j’ai pensé à un format multilabel du type: <strong>   proc format;</strong> <strong>       value pop (multilabel) low-35="35 ans et moins"</strong> <strong>       low-high/* ?? */="tout le monde";</strong> <strong>   run;</strong> mais si j’applique ce format dans une proc freq par exemple: <strong>   proc freq data=****;</strong> <strong>       table age;</strong> <strong>       format age pop.;</strong> <strong> […]

Formats : Affichage des nombres avec un séparateur de milliers

Existe -t-il un format SAS numérique qui ajoute un séparateur de milliers ? par exemple : 1350 devient 1 350   Oui, à partir de SAS 9 il y a le format NLNUM. Vous pouvez aussi le créer facilement avec ce petit programme : PROC FORMAT ;    PICTURE milliers (ROUND)       0 – HIGH = "000 000 009"    ; RUN ; Vous utilisez ensuite le format milliers. quand vous en avez besoin. Pour plus d’informations sur les formats « picture », voir Les […]

Exportation : Liaison DDE SAS/Excel

Je cherche à exporter 78 variables d’une table SAS vers un fichier Excel à l’aide d’une liaison DDE. Les observations sont des nombres décimaux possédant 11 caractères dont 10 décimales (par exemple 0.6612903226). Le programme SAS (ci-dessous) lui indique bien d’exporter 78 variables sur un espace de 78 cellules. <strong>filename sortie DDE "excel|Feuil1!l1c2:l1c79" notab; DATA _null_; SET pgm; FILE sortie; PUT COL1 '09'x COL2 '09'x COL3 '09'x COL4 '09'x COL5 '09'x COL6 '09'x COL7 '09'x COL8 '09'x COL9 '09'x COL10 […]

Exportation : Sorties SAS dans Excel

J’essaye d’ouvrir dans Excel un tableau généré par SAS dans une page Web (ODS HTML). Les cases de mon tableau sont comprises par Excel comme des chaînes de caractères ! Comme corriger ce problème ?   Par ailleurs, concernant l’envoi des tableaux HTML sous Excel, votre problème tient à un paramètre gênant : votre Excel est en Français, avec des virgules comme séparateur décimal. Or SAS, logiciel américain, utilise le point. Donc les points présents dans les cases des tableaux […]

Enterprise Miner : Prise en compte des formats (modèle LOGIT)

Bonjour, Sous EM, le modele LOGIT prend-t-il en compte les formats ou doit-on recoder en dur les modalités ?   A priori, si un format est attaché de manière permanente à la variable, SEM le prend en compte dans tout son diagramme. Pour le vérifier, vous pouvez aller dans le nœud INPUT DATA SOURCE, et faire un VIEW DISTRIBUTION de votre variable formatée. Si les catégories affichées correspondent au format, le nœud REGRESSION en tiendra compte. Sinon, vous devez coder […]

Enterprise Miner : Classes sous SEM

Je voudrais faire une régression logistique en utilisant des classes de mes variables quantitatives…
Pour cela je peux utiliser le noeud transform variables et calculer des classes selon les quartiles ou quelque chose du genre mais le problème c’est que j’aimerais faire une classe exclusivement = 0 … car pour les montants par exemple il y en beaucoup qui sont égaux à zéro. Donc je voudrais avoir ma 1ère classe seulement pour des valeurs nulles puis la 2ème par exemple pour des valeurs comprises entre zéro exclus et 12000 F…
Comment m’y prendre ?

Dates : Ne pas afficher le format dans une proc freq

je voudrais savoir comment les afficher via une proc freq sans format, c’est-à-dire en les visualisant sous la forme du nombre de jour depuis le 1er JAN 1960. L’objectif étant de récupérer les dates distinctes de ma table dans une liste, et de boucler dessus.
Par avance, merci.

Dates : format de date

J’ai une date de format $10. (style 10/10/2010) que je voudrais transformer en date DDMMYY10.
Merci d’avance de votre réponse.

Dates : créer un format pour une variable de format date

j’ai une variable date dans un fichier, et je souhaite faire la répartition en fonction de tranche gérées par un format que je crée… et je n’arrive pas à créer ce format (sans passer par le calcul du nombre de jours correspondants à ma date..)

Dates : Affichage de date

J’aurais souhaité afficher une date sous la forme suivante : Janvier 2005 (en français, mais sans le numéro du jour).

D’avance merci.

Dates : problème avec des dates

Dans une table SAS que j’ai récupérée, j’ai une variable qui contient manifestement une date, qui semble numérique sur une longueur de 8, mais elle a un aspect bizarre. Une valeur, par exemple, est : 14JUN1977:00:00:00. Les fonctions dates habituelles (YEAR, INTNX, etc.) me renvoient des résultats aberrants quand je les applique à cette variable. Que faire ?

Client/serveur : SAS ne trouve pas mes formats !

Je travaille en client/serveur. Je crée en RSUBMIT des formats avec une PROC FORMAT. Je fais une option FMTSEARCH sur la librairie qui contient le catalogue de formats. Pour l’exécution de procédures, tout va bien. Mais quand je veux regarder ma table avec l’Explorer, SAS me dit qu’il ne trouve pas les formats. Que se passe-t-il ?