2017-08-02 4 views
-1

Dans SAS j'essaye de comprendre comment obtenir la sortie (résultats ou ensemble de données réel) qui m'indique le nom de colonne, la longueur de var, et la longueur maximum (qui serait bien sûr répété pour chaque obs avec ce nom de colonne).SAS: Comment puis-je afficher un tableau indiquant le nom de la colonne, la longueur maximale et la longueur définie de cette colonne?

+1

Qu'avez-vous essayé jusqu'à présent? SO n'est pas un service d'écriture de code, essayez de résoudre le problème vous-même et d'expliquer ce que vous avez des problèmes. Les exemples de données et les résultats attendus aident également à expliquer votre problème. – Reeza

+0

https://stackoverflow.com/help/how-to-ask – Reeza

+0

Voir également la table SASHELP.VCOLUMNS pour plus d'informations. – Reeza

Répondre

0

Pour trouver la longueur maximale d'une variable EVERY dans un ensemble de données, vous devrez probablement transposer les données ou générer du code.

Si vous avez un identifiant unique pour chaque observation, vous pouvez d'abord transposer les données, puis trouver la longueur maximale. Ou générer le code pour trouver les longueurs maximales en une seule observation, puis transposer cela. Donc, si vos variables sont GENDER et RACE, vous pouvez l'exécuter.

proc sql ; 
    create table wide as 
    select max(length(GENDER)) as GENDER 
     , max(length(RACE)) as RACE 
    from have 
    ; 
quit; 
proc transpose data=wide out=want; 
run; 

Vous pouvez utiliser PROC informations CONTENU sur les données d'origine pour générer la série de MAX(LENGTH(var)) as var expressions dans cette instruction select.