Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
je travaille sur une base de données contenant des établissements, leur effectif, la période de l'effectif et la catégorie de l'effectif.
La première colonne contient l'identifiant des établissements.
La deuxième colonne contient la période où l'effectif a été mesuré, sous forme AAAA-MM.
La troisième colonne contient la valeur de l'effectif.
La quatrième contient la catégorie de l'effectif (SIG ou SIR).
Ainsi pour un établissement il y a plusieurs lignes, et 2 par année, une ligne par catégorie.
J'aurai besoin que le fichier devienne sous la forme:
première colonne: identifiant établissement
Deuxième colonne: Période
Troisième colonne: Effectif SIG
Quatrième colonne: Effectif SIR
et cerise sur le gateau
cinquième colonne: Effectif total (soit effectif SIG + effectif SIR)
Il y aurait donc toujours plusieurs lignes pour un même établissement mais plus qu'une seule ligne pour une période
Y a t'il un script pour cela?
Merci d'avance
Jérôme
en PJ, un fichier excel avec l'aspect de la base avant modification
Bonjour Jérôme,
Je t'invite d’abord à consulter le Set Analysis
donc je vais ajouter un tableau simple avec comme dimension Etablissement et période
puis dans Expression, je vais ajouter 3 expression :
Effectif SIG :
=sum({<Catégorie={'SIG'}>} Effectif)
Effectif SIR :
=sum({<Catégorie={'SIR'}>} Effectif)
Effectif :
=sum( Effectif)
Cdt,
Merci Taoufiq pour ta réponse supe rapide!!
j'avais effectivement pensé le faire dans le set analysis mais l'objet de mon post était de pouvoir le faire dans le script de chargement de données pour créer directement les colonnes dans le modèle de données.
Est-ce que c'est possible?
oui , il ya plusieurs possibilités.
essayes ce script :
LOAD Etablissement,
Période,
Effectif,
if(Catégorie='SIG',Effectif) as Effectif_SIG,
if(Catégorie='SIR',Effectif) as Effectif_SIR,
Catégorie
FROM
[.\Lignes vers colonnes.xlsx]
(ooxml, embedded labels, table is Feuil1);
Résultat:
Regards,
Encore merci!
Le problème est qu'il n'y a toujours plusieurs lignes par période, avec pour effectif déclaré SIG une ligne avec un effectif renseigné et une ligne vide, et l'inverse pour l'effectif déclaré SIR.
Sinon j'avais pensé faire deux" left join" en ne chargeant d'abord que les catégories SIR par un where, puis les SIG.
J'ai pas très bien compris le problème.
est ce que tu peux partager un output de ce que tu veux afficher (output) ?
Finalement j'ai enchaîné plusieurs left join et j'arrive au format souhaité
Merci pour ton aide