simple

numRows

##set_simple

Description

Cette action CAS (Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle.), partie de l'ensemble d'actions 'Simple Analytics', vous permet de compter les lignes d'une table CAS. C'est comme demander à la table : 'Dis-moi, combien de secrets (lignes) tu caches ?' Utile pour avoir un aperçu rapide de la taille de vos données sans avoir à les parcourir toutes ! La fonction renvoie un entier 64 bits, que vous pouvez récupérer via 'results.numrows'.

Syntaxe Officielle
proc cas;
simple.numRows
/ table={name="table-name",
caslib="string",
computedOnDemand=TRUE | FALSE,
computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}},
computedVarsProgram="string",
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>},
importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters},
singlePass=TRUE | FALSE,
vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}},
where="where-expression",
whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, where="where-expression"}
}
result=results status=rc;
run;
quit;

Paramètres Clés

Nom du paramètre Description
table Spécifie le nom de la table, la caslib, et d'autres paramètres courants. C'est le cœur de l'action, sans table, pas de lignes à compter !
caslib Spécifie la caslib (bibliothèque CAS) pour la table d'entrée que vous souhaitez utiliser avec l'action. Par défaut, la caslib active est utilisée. Spécifiez une valeur uniquement si vous devez accéder à une table depuis une caslib différente. Une sorte de chemin vers vos données.
computedOnDemand Lorsque la valeur est définie sur 'TRUE', crée les variables calculées lorsque la table est chargée au lieu de le faire au début de l'action. Ça, c'est de l'efficacité ! Alias : compOnDemand. Par défaut : FALSE.
computedVars Spécifie les noms des variables calculées à créer. Spécifiez une expression pour chaque variable dans le paramètre computedVarsProgram. Si vous ne spécifiez pas ce paramètre, toutes les variables de computedVarsProgram sont automatiquement incluses. Alias : compVars.
computedVars.format Spécifie le format à appliquer à la variable.
computedVars.formattedLength Spécifie la longueur du champ de format plus la longueur de la précision du format.
computedVars.label Spécifie l'étiquette descriptive de la variable.
computedVars.name Spécifie le nom de la variable (paramètre obligatoire).
computedVars.nfd Spécifie la longueur de la précision du format.
computedVars.nfl Spécifie la longueur du champ de format.
computedVarsProgram Spécifie une expression pour chaque variable calculée que vous incluez dans le paramètre computedVars. Alias : compPgm.
dataSourceOptions Spécifie les options de la source de données. Alias : options, dataSource.
importOptions Spécifie les paramètres de lecture d'une table à partir d'une source de données. Alias : import. Pour plus d'informations, voir le paramètre common importOptions.
name Spécifie le nom de la table d'entrée (paramètre obligatoire).
singlePass Lorsque la valeur est définie sur 'TRUE', ne crée pas de table transitoire sur le serveur. Définir ce paramètre sur 'TRUE' peut être efficace, mais les données pourraient ne pas avoir un ordre stable lors des exécutions répétées. Par défaut : FALSE.
vars Spécifie les variables à utiliser dans l'action.
vars.format Spécifie le format à appliquer à la variable.
vars.formattedLength Spécifie la longueur du champ de format plus la longueur de la précision du format.
vars.label Spécifie l'étiquette descriptive de la variable.
vars.name Spécifie le nom de la variable (paramètre obligatoire).
vars.nfd Spécifie la longueur de la précision du format.
vars.nfl Spécifie la longueur du champ de format.
where Spécifie une expression pour sous-échantillonner les données d'entrée.
whereTable Spécifie une table d'entrée qui contient des lignes à utiliser comme filtre WHERE. Si le paramètre 'vars' n'est pas spécifié, tous les noms de variables communs à la table d'entrée et à la table de filtrage sont utilisés pour trouver les lignes correspondantes. Si le paramètre 'where' pour la table d'entrée et ce paramètre sont spécifiés, alors cette table de filtrage est appliquée en premier.
whereTable.casLib Spécifie la caslib pour la table de filtre. Par défaut, la caslib active est utilisée.
whereTable.dataSourceOptions Spécifie les options de la source de données pour la table de filtre. Pour plus d'informations, voir le paramètre common dataSourceOptions.
whereTable.importOptions Spécifie les paramètres de lecture d'une table de filtre à partir d'une source de données. Pour plus d'informations, voir le paramètre common importOptions.
whereTable.name Spécifie le nom de la table de filtre (paramètre obligatoire).
whereTable.vars Spécifie les noms de variables à utiliser de la table de filtre.
whereTable.vars.format Spécifie le format à appliquer à la variable.
whereTable.vars.formattedLength Spécifie la longueur du champ de format plus la longueur de la précision du format.
whereTable.vars.label Spécifie l'étiquette descriptive de la variable.
whereTable.vars.name Spécifie le nom de la variable (paramètre obligatoire).
whereTable.vars.nfd Spécifie la longueur de la précision du format.
whereTable.vars.nfl Spécifie la longueur du champ de format.
whereTable.where Spécifie une expression pour sous-échantillonner les données de la table de filtre.

Préparation des données

Création d'une table d'exemple pour compter les lignes

Avant de pouvoir compter les lignes, il nous faut bien sûr une table ! Créons une petite table CAS en mémoire avec quelques données pour l'exemple. On ne va pas chercher bien loin, juste de quoi s'amuser avec 'numRows'.

1DATA casuser.ma_super_table;
2 INPUT id $ valeur;
3 DATALINES;
4 A 10
5 B 20
6 C 30
7 D 40
8 E 50
9 ;
10RUN;
11PROC CASUTIL;
12 load DATA=casuser.ma_super_table outcaslib='casuser' casout='ma_super_table_cas';
13RUN;

Exemples d'utilisation

Compter les lignes d'une table

L'exemple le plus simple : combien de lignes contient notre 'ma_super_table_cas' ? Un classique indémodable !

1PROC CAS;
2 SIMPLE.numRows / TABLE={name='ma_super_table_cas', caslib='casuser'};
3 RUN;
4QUIT;
Résultat Attendu :
Le résultat affichera le nombre total de lignes dans la table 'ma_super_table_cas', qui devrait être 5 dans notre cas.
Compter les lignes avec une condition WHERE

Parfois, on ne veut pas tout compter, mais juste une partie. Imaginons que vous vouliez savoir combien de lignes ont une 'valeur' supérieure à 25. 'numRows' est là pour vous, avec une petite clause 'where' en prime !

1PROC CAS;
2 SIMPLE.numRows
3 / TABLE={name='ma_super_table_cas', caslib='casuser', where='valeur > 25'};
4 RUN;
5QUIT;
Résultat Attendu :
Le résultat affichera le nombre de lignes où la valeur est supérieure à 25. Dans notre 'ma_super_table_cas', cela devrait être 3 (pour les valeurs 30, 40, 50).