Comment créer des tableaux croisés dynamiques dans SAS (avec exemple)



Vous pouvez utiliser PROC TABULATE dans SAS pour créer des tableaux croisés dynamiques afin de résumer les variables dans un ensemble de données.

Cette procédure utilise la syntaxe de base suivante :

proc tabulate data=my_data;
    class var1;
    var var2 var3;
    table var1, var2 var3;
run;

L’instruction class spécifie la variable à regrouper, l’instruction var spécifie les variables numériques à résumer et l’instruction table spécifie le format du tableau croisé dynamique.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : utilisez Proc Tabulate pour créer un tableau croisé dynamique dans SAS

Supposons que nous disposions de l’ensemble de données suivant dans SAS qui contient des informations sur le nombre de ventes et de retours effectués dans diverses épiceries :

/*create dataset*/
data my_data;
    input store $ sales returns;
    datalines;
A 10 2
A 7 0
A 7 1
A 8 1
A 6 0
B 10 2
B 14 5
B 13 4
B 9 0
B 5 2
C 12 1
C 10 1
C 10 3
C 12 4
C 9 1
;
run;

/*view dataset*/
proc print data=my_data;

Supposons maintenant que nous souhaitions créer un tableau croisé dynamique qui résume la somme des ventes et des retours dans chaque magasin.

Nous pouvons utiliser la syntaxe suivante pour ce faire :

/*create pivot table to summarize sum of sales and returns by store*/
proc tabulate data=my_data;
    class store;
    var sales returns;
    table store, sales returns;
run;

tableau croisé dynamique dans SAS

Le tableau croisé dynamique résultant montre la somme des ventes et des retours dans chaque magasin.

Par exemple, on peut voir :

  • La somme des ventes réalisées dans le magasin A est de 38 .
  • La somme des retours effectués au magasin A est de 4 .
  • La somme des ventes réalisées dans le magasin B est de 51 .
  • La somme des retours effectués au magasin B est de 13 .

Et ainsi de suite.

Par défaut, SAS calcule la somme de chaque variable numérique dans le tableau croisé dynamique.

Cependant, vous pouvez taper *Moyenne après chaque variable numérique pour calculer la valeur moyenne :

/*create pivot table to summarize mean of sales and returns by store*/
proc tabulate data=my_data;
    class store;
    var sales returns;
    table store, sales*Mean returns*Mean;
run;

Le tableau croisé dynamique résultant montre la moyenne des ventes et des retours dans chaque magasin.

Par exemple, on peut voir :

  • La valeur moyenne des ventes réalisées dans le magasin A est de 7,6 .
  • La valeur moyenne des retours effectués dans le magasin A est de 0,80 .
  • La valeur moyenne des ventes réalisées dans le magasin B est de 10,2 .
  • La valeur moyenne des retours effectués dans le magasin B est de 2,6 .

Et ainsi de suite.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

Comment utiliser le résumé de procédure dans SAS
Comment calculer la corrélation dans SAS
Comment créer des tableaux de fréquences dans SAS

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *