Annonce

Bienvenue sur le site support de mes ouvrages d'introduction à SAS

La 4ème édition de mon ouvrage est disponible depuis le 11 avril 2019 !

Où trouver cet ouvrage ?


#1 03-12-2014 13:06:15

SAS-SR
Administrateur
Lieu: Université d'Orléans
Date d'inscription: 01-09-2008
Site web

[archive] Oh le bel arbre !

Bonjour

J’ai reçu de la part d’un de mes anciens étudiants (et lecteur assidu de la section des beaux mercredis) un joli problème qui vous intéressera sûrement. (Merci Hicham !)

Le programme suivant crée la table que nous allons devoir manipuler :

Code:

data arbre;
input level_1 $ 1-11 level_2 $ 16-45 level_3 $ 50-63 level_4 $ 68-76 ;
cards;
Assets         Cash and due from banks
Assets         Interest-earning bank deposits
Assets         Financial assets at FVTPL         Trading assets
Assets         Financial assets at FVTPL         Trading assets
Assets         Loans                             Retail Lending
Liabilities    Deposits                          Sight Deposits    Retail
Liabilities    Deposits                          Sight Deposits    Corporate
Liabilities    Deposits                          Term Deposits     Retail
Liabilities    Deposits                          Term Deposits     Corporate
Liabilities    Financial liabilities at FVTPL
Liabilities    Financial liabilities at FVTPL
Liabilities    Long-term debt
Equity         Common shares
Equity         Retained earnings
;

Cette table reprend en fait les données d’un arbre reproduit dans cette illustration :

http://www.sas-sr.com/img/arbre.gif

L’organisation de cette table ne nous convient pas et nous souhaitons obtenir une table organisée de façon plus « normalisée ».

Voici ce que nous souhaitons obtenir :

http://www.sas-sr.com/img/want_arbre.PNG

Cette table contient 20 observations parce que votre table a 20 nœuds nommés (il y a en fait 21 nœuds mais le nœud de départ n’est pas nommé).

Chaque nœud est numéroté (variable N) et vous disposez (variable PARENT) du numéro du nœud « parent ».

Le nœud n°1 s’appelle ASSETS, son parent est le nœud « 0 » : l’origine de l’arbre.

Le 15ème nœud s’appelle « Corporate », son parent est le nœud n°13 (« Term Deposits ») qui a pour parent le nœud n°9 (« Deposits ») qui lui-même à pour parent le nœud n°8 (« Liabilities ») qui lui-même a pour parent l’origine de l’arbre : le nœud 0.

Vous noterez que le nœud n°12 s’appelle aussi « Corporate », il s’agit cependant d’un nœud différent puisqu’il termine une autre branche de l’arbre. Il n’y a qu’un nœud appelé « Assets » même si cette modalité apparaît plusieurs fois en modalité de la variable LEVEL_1.

Pour la semaine prochaine, rédigez un programme composé d’une seule étape DATA et qui construira une table contenant les 20 nœuds et qui numérotera ces nœuds (La construction de la variable PARENT sera vue dans un second temps).

Attention à bien comprendre la logique qui a conduit à donner son numéro à chaque nœud.

Il ne vous échappera pas que la table de départ n’est pas « parfaite » : il existe des doublons (observations n°3 et 4, observations n°10 et n°11). Ces doublons n’ont pas d’importance si le programme qui répond à la question posée est correct mais si ces doublons vous gênent, vous pouvez les effacer.

Le problème est assez difficile… j’ai longuement hésité avant de vous le proposer… mais à cœur vaillant, rien d’impossible (surtout avec SAS…) !

à la semaine prochaine

Ce sujet est maintenant archivé - seuls les utilisateurs inscrits de www.sas-sr.com peuvent consulter l'intégralité du sujet et les programmes qui répondent aux questions posées.
pour vous identifier, suivez ce lien
pour vous inscrire, suivez ce lien

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr
Flux RSS