sas
Informats dans SAS
Recherche…
Introduction
SAS informats
indique à SAS comment lire les données de tout emplacement d'entrée (tel qu'un fichier, une feuille de calcul Excel, un canal nommé ou même une autre variable SAS, etc.) dans une variable.
SAS ne comporte que deux types de données - caractère et numérique - et chaque informat est spécifique au stockage de la valeur dans une variable numérique ou caractère. Si la variable de destination est un caractère, alors l'informat commencera par un symbole $
, tout le reste sera un informat numérique.
Remarques
Les informats sont très importants, en particulier lorsque nous importons des données d'autres ensembles de données. Par exemple, la plupart du temps, lorsque vous travaillez sur des données en temps réel, nous extrayons des données de diverses sources de données (Oracle, Mysql, Teradata, etc.). Chaque fois que nous importons des données, nous devons spécifier la déclaration informat afin que SAS puisse lire les données correctement.
Importation de données Excel dans SAS
Par exemple, disons ci-dessous les exemples de données dans un «test» Excel,
Purchase_Date Customer_Name Price
05-05-2017 Adam 1075
06-05-2017 Noah 1093
07-05-2017 Peter 1072
08-05-2017 Louis 1101
09-05-2017 Zoe 1248
10-05-2017 Kevin 1045
11-05-2017 Messiah 1072
12-05-2017 John 1046
13-05-2017 Stephen 1043
14-05-2017 Solly 1113
15-05-2017 Jeevan 1137
Vous devez utiliser le code ci-dessous pour importer ceci avec succès,
Data Test;
Infile 'D:\Test.csv';
Delimiter=',' Missover DSD Getnames=Yes;
Informat Purchase_Date date9.;
Informat Price dollarx10.2;
Format Purchase_Date date9.;
Format Price dollarx10.2;
run;
Informat in the above code helps SAS to read the data from Excel. Format in the above code helps to write the data properly into SAS Data set.
Importer le caractère vs numérique
L'exemple ci-dessous utilise l'instruction input pour lire une valeur provenant d'une source (dans ce cas, la chaîne 123
) dans une destination de caractère et une destination numérique.
data test;
source = '123';
numeric_destination = input(source, best.);
character_destination = input(source, $3.);
run;