Publié le :

Analyse et transformation de données de produits

Ce code est également disponible en : Deutsch English Español
En attente de validation
L'objectif principal de ce script est de fournir une compréhension approfondie d'une base de données de produits et d'y ajouter des informations pertinentes. Il commence par établir un raccourci vers un dossier externe via une instruction LIBNAME. Ensuite, il inspecte la structure et le contenu du jeu de données 'cadastro_produto'. Des analyses statistiques descriptives (fréquences univariées et croisées) sont effectuées sur des variables comme 'gênero', 'plataforma' et 'nome'. Un DATA STEP est utilisé pour créer une variable binaire 'lancamento' basée sur la date, indiquant si un produit est un 'lancement'. Enfin, le script sauvegarde une version mise à jour du jeu de données avec cette nouvelle variable, renommée pour la clarté, et des libellés améliorés pour faciliter l'interprétation des rapports futurs.
Analyse des données

Type : EXTERNE


Le script utilise le jeu de données 'cadastro_produto' qui est chargé depuis le dossier '/folders/myfolders/AluraPlay' via la librairie 'alura'. Ce jeu de données n'est pas créé ou généré à l'intérieur du script SAS mais est supposé exister dans le chemin spécifié.

1 Bloc de code
LIBNAME / PROC DATASETS
Explication :
Déclare une librairie SAS nommée 'alura' pointant vers le chemin de dossier spécifié. Ensuite, utilise la PROC DATASETS pour lister les informations détaillées sur les tables contenues dans cette librairie, permettant de vérifier la présence des jeux de données attendus.
Copié !
1/* Declara o atalho para a minha pasta da AluraPlay */
2LIBNAME alura "/folders/myfolders/AluraPlay";
3 
4* Vou checar o meu diretório da Alura ;
5PROC DATASETS
6 lib=alura details;
7RUN;
2 Bloc de code
PROC CONTENTS
Explication :
Affiche les métadonnées (dictionnaire) du jeu de données 'alura.cadastro_produto', y compris les noms de variables, leurs types, longueurs, formats, et autres attributs, offrant un aperçu de la structure du jeu de données source.
Copié !
1* Checa o conteúdo da minha base de cadastro produto ;
2PROC CONTENTS
3 DATA=alura.cadastro_produto;
4RUN;
3 Bloc de code
PROC PRINT
Explication :
Imprime l'intégralité du jeu de données 'alura.cadastro_produto' dans la sortie par défaut, permettant une revue visuelle rapide des premières observations.
Copié !
1* Imprime a minha base de cadastro produto ;
2PROC PRINT
3 DATA=alura.cadastro_produto;
4RUN;
4 Bloc de code
PROC FREQ
Explication :
Génère des tables de fréquences univariées pour les variables catégorielles 'genero', 'plataforma' et 'nome' du jeu de données 'alura.cadastro_produto'. L'option NLEVELS indique le nombre de niveaux uniques pour chaque variable, utile pour l'exploration des données.
Copié !
1* Gera as frquencias das variáveis Gênero, Plataforma e Nome ;
2PROC FREQ
3 DATA=alura.cadastro_produto nlevels;
4 TABLE genero plataforma nome;
5RUN;
5 Bloc de code
DATA STEP Data
Explication :
Crée un nouveau jeu de données temporaire nommé 'teste' en copiant 'alura.cadastro_produto'. Une nouvelle variable 'lancamento' est créée : elle prend la valeur 1 si la variable 'data' est supérieure à '201606' (indiquant un lancement récent), et 0 sinon. Cela transforme une date en un indicateur binaire.
Copié !
1/* Cria uma nova base com a variável de flag de lançamento */
2DATA teste;
3SET alura.cadastro_produto;
4 
5IF DATA > 201606
6 THEN lancamento = 1;
7 ELSE lancamento = 0;
8 
9RUN;
6 Bloc de code
PROC PRINT
Explication :
Imprime le contenu du jeu de données 'teste', permettant de vérifier visuellement la création correcte de la variable 'lancamento'.
Copié !
1* Imprime minha nova base ;
2PROC PRINT
3 DATA=teste;
4RUN;
7 Bloc de code
PROC FREQ
Explication :
Génère une table de fréquences pour la nouvelle variable 'lancamento' dans le jeu de données 'teste', montrant la distribution des produits considérés comme 'lancements' par rapport aux autres.
Copié !
1* Gera a tabela de frequência da minha variável de laçamento ;
2PROC FREQ
3 DATA=teste;
4 TABLE lancamento;
5RUN;
8 Bloc de code
PROC FREQ
Explication :
Génère une table de fréquences croisées entre 'genero' et 'lancamento' à partir du jeu de données 'teste'. Les options NOROW, NOCOL et NOPERCENT suppriment les pourcentages de ligne, de colonne et totaux, affichant uniquement les effectifs pour une analyse ciblée.
Copié !
1* Gera a frequencia cruzada das variáveis Gênero e Lançamento ;
2PROC FREQ
3 DATA=teste;
4 TABLE genero*lancamento
5 /norow nocol nopercent;
6RUN;
9 Bloc de code
PROC FREQ
Explication :
Génère une table de fréquences croisées entre 'nome' et 'genero' à partir du jeu de données original 'alura.cadastro_produto'. L'option LIST affiche la table de contingence de manière listée, ce qui est utile pour les combinaisons avec de nombreux niveaux. NLEVELS affiche le nombre de niveaux uniques pour chaque variable.
Copié !
1* Gera a lista cruzada das variáveis Nome e Gênero ;
2PROC FREQ
3 DATA=alura.cadastro_produto nlevels;
4 *table nome;
5 TABLE nome*genero
6 / list;
7RUN;
10 Bloc de code
DATA STEP Data
Explication :
Crée le jeu de données final 'alura.cadastro_produto_v2' en copiant 'teste'. La variable 'lancamento' est renommée en 'flag_lancamento' pour améliorer la clarté. Des libellés (labels) sont attribués aux variables 'Genero' et 'lancamento' afin d'enrichir la documentation des données et d'améliorer la lisibilité des sorties de rapports.
Copié !
1/* Salva a minha base intermendiária no diretório da AluraPlay */
2DATA alura.cadastro_produto_v2;
3SET teste;
4rename lancamento = flag_lancamento;
5label Genero = "Gênero"
6 lancamento = "Marque 1 pour les jeux qui sont un lancement et 0 sinon";
7RUN;
11 Bloc de code
PROC CONTENTS
Explication :
Vérifie les métadonnées du jeu de données final 'alura.cadastro_produto_v2' pour confirmer que toutes les modifications (renommage de variable, application de libellés) ont été effectuées correctement.
Copié !
1* Checar se minha base 'cadastro_produto_v2' foi criada corretamente ;
2PROC CONTENTS
3 DATA=alura.cadastro_produto_v2;
4RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.