simple

mdSummary

Description

L'action mdSummary calcule des statistiques descriptives multidimensionnelles (MDS) pour les variables numériques. Ces statistiques sont calculées sur la base des combinaisons de valeurs de variables de classification. Le principal avantage de l'action mdSummary est qu'elle combine en un seul passage de données plusieurs opérations qui nécessiteraient autrement de multiples passages. Cette action est très utile pour des requêtes de type OLAP (Online Analytical Processing) sur de grandes quantités de données.

simple.mdSummary <result=results> <status=rc> / attributes={{name="variable-name", format="string", formattedLength=integer, label="string", nfd=integer, nfl=integer}, ...} descending=TRUE | FALSE groupByLimit=64-bit-integer includeMissing=TRUE | FALSE inputs={{name="variable-name", format="string", formattedLength=integer, label="string", nfd=integer, nfl=integer}, ...} orderByGbyRaw=TRUE | FALSE returnValidSet=TRUE | FALSE sets={{groupBy={"variable-name-1", ...}, groupByFmts={"string-1", ...}, where="where-expression"}, ...} subSet={"CSS", "CV", "KURTOSIS", "MAX", "MEAN", "MIN", "N", "NMISS", "PROBT", "SKEWNESS", "STD", "STDERR", "SUM", "T", "TSTAT", "USS", "VAR"} table={caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{name="variable-name", ...}}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, groupBy={{name="variable-name", ...}}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={fileType="ANY" | ...}, name="table-name", orderBy={{name="variable-name", ...}}, singlePass=TRUE | FALSE, vars={{name="variable-name", ...}}, where="where-expression", whereTable={casLib="string", ...}} weight="variable-name" ;
Paramètres
ParamètreDescription
attributesSpécifie les attributs des variables.
descendingSi défini à True, les niveaux formatés des variables sont organisés en ordre décroissant.
groupByLimitSpécifie le nombre maximal de niveaux dans un ensemble de regroupement. Lorsque le serveur atteint ce nombre, il s'arrête et ne renvoie pas de résultat.
includeMissingSi défini à True, les valeurs manquantes sont incluses dans la détermination des valeurs de regroupement.
inputsSpécifie les variables d'entrée pour l'analyse.
orderByGbyRawSi défini à True, l'ordre des variables de regroupement est basé sur les valeurs brutes des variables, et non sur les valeurs formatées.
returnValidSetSi défini à True, les ensembles de regroupement dont la taille ne dépasse pas la limite spécifiée sont renvoyés.
setsSpécifie les spécifications des ensembles. Permet de définir plusieurs agrégations avec différents groupes et filtres en une seule passe.
subSetSpécifie les statistiques descriptives à générer, comme MEAN (moyenne), N (nombre), STD (écart-type), etc.
tableSpécifie la table CAS d'entrée pour l'analyse.
weightSpécifie une variable numérique dont les valeurs pondèrent les valeurs des variables d'analyse.
Préparation des Données Voir la fiche de ce code dataprep
Création des Données de Test

Ce code SAS crée une table en mémoire nommée 'CARS' dans la caslib 'casuser'. Cette table contient des informations sur différents modèles de voitures, y compris leur origine, type, prix (MSRP) et consommation (MPG_City). Ces données serviront à illustrer le fonctionnement de l'action 'mdSummary'.

Copié !
1DATA casuser.cars;
2 LENGTH Origin $ 8 Type $ 8 Model $ 25;
3 INFILE DATALINES delimiter=',';
4 INPUT Origin $ Type $ Model $ MSRP MPG_City;
5 DATALINES;
6Asia,SUV,Acura MDX,36945,17
7Asia,Sedan,Acura RSX,23820,24
8Asia,Sedan,Acura RL,43755,18
9Europe,Sedan,Audi A4,25940,20
10Europe,Wagon,Audi A4 Avant,30940,18
11Europe,Sedan,BMW 325i,28495,19
12USA,Sedan,Cadillac CTS,30835,18
13USA,SUV,Dodge Durango,26985,13
14USA,Truck,Ford F-150,22375,14
15;
16RUN;

Exemples

Cet exemple calcule les statistiques de base (moyenne, min, max) pour la variable 'MSRP' (prix de vente suggéré), regroupées par 'Origin' et 'Type' de véhicule.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 SIMPLE.mdSummary /
3 TABLE={caslib='casuser', name='cars'},
4 subSet={'mean', 'min', 'max'},
5 inputs={{name='MSRP'}},
6 sets={{
7 groupBy={'Origin', 'Type'}
8 }};
9RUN;
Résultat :
Le résultat sera une table CAS contenant les statistiques (Moyenne, Minimum, Maximum) du prix (MSRP) pour chaque combinaison unique d'Origine et de Type de voiture présents dans la table 'CARS'.

Cet exemple plus avancé utilise l'action 'mdSummary' pour effectuer deux analyses distinctes en une seule passe. Le premier ensemble calcule la moyenne du 'MSRP' et de 'MPG_City' pour chaque 'Origin'. Le second ensemble calcule les mêmes statistiques mais uniquement pour les véhicules de type 'Sedan', regroupés par 'Origin'. Les résultats pour chaque ensemble sont triés par ordre décroissant de la moyenne du MSRP.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 SIMPLE.mdSummary /
3 TABLE={caslib='casuser', name='cars'},
4 subSet={'mean', 'min', 'max'},
5 inputs={{name='MSRP'}, {name='MPG_City'}},
6 sets={
7 {
8 groupBy={'Origin'},
9 orderBy={{name='_Mean_', order='descending'}}
10 },
11 {
12 groupBy={'Origin'},
13 where='Type="Sedan"',
14 orderBy={{name='_Mean_', order='descending'}}
15 }
16 };
17RUN;
Résultat :
L'action retournera deux tables de résultats. La première table ('MDSummary') contiendra les statistiques pour 'MSRP' et 'MPG_City' groupées par 'Origin', triées par la moyenne du MSRP décroissante. La seconde table ('MDSummary2') montrera les mêmes statistiques, mais filtrées pour inclure uniquement les berlines ('Sedan'), également triées par la moyenne du MSRP décroissante.

FAQ

À quoi sert l'action `mdSummary` dans SAS Viya?
Quelle est la condition obligatoire pour utiliser l'action `mdSummary`?
Comment fonctionne le paramètre `descending`?
Quel est l'objectif du paramètre `groupByLimit`?
Quelles statistiques de résumé peuvent être calculées avec le paramètre `subSet`?
À quoi sert le paramètre `weight`?