donc je crée une nouvelle base de données appelée alors je veux créer une nouvelle variable appelée J'ai le code suivant, mais cela ne crée pas la variable code> Fonction code>: p> Qu'est-ce qui ne va pas? p> p> sitesweb2 code> d'un autre appelé
sitesweb code> parce que je veux juste garder certaines variables. Ce ne sont que des variables binaires.
Fonction code> qui prendra: p>
3 Réponses :
Besoin d'opérateur / Opérande droite pour chaque variable. Ça ne répond pas à la condition: -
if sum(M,N,...)>=1 then...
Vérification du '1' code> dans le résultat de la concaténation d'un tableau qui fait référence aux variables.
array _1_vars M N O P Q R S T U;
array _2_vars AA AB AC AD AE AF AG AH AI AJ;
array _3_var3 AK AL;
select;
when (index(cats(of _1_vars(*),'1') then fonction = '1';
when (index(cats(of _2_vars(*),'1') then fonction = '2';
when (index(cats(of _3_vars(*),'1') then fonction = '3';
otherwise ;
end;
Pour vérifier si une valeur apparaît dans une liste de variables, vous pouvez utiliser la fonction qui () ou laquellec.). Il retournera le numéro de la variable où il est trouvé pour la première fois. Si non trouvé, il retournera zéro. SAS traite 0 comme faux et tout autre nombre comme vrai.
data DEV1.SITESWEB2; set DEV1.SITESWEB ; keep INDUSTRIE M N O P Q R S T U AA AB AC AD AE AF AG AH AI AJ AK AL ; if whichc('1', of M N O P Q R S T U) then fonction = 1 ; else if whichc('1', of AA AB AC AD AE AF AG AH AI AJ) then fonction = 2; else if whichc('1', of AK AL) then fonction = 3; keep fonction ; run;