Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
j'ai besoin de votre aide sur le calcul d'une valeur. Je vous explique mon problème:
j'ai une table de dimension et une table de fait
dim_personne:
id_person
nom
prenom
datecreation
datefin
dim_personne |
---|
id_person |
nom_person |
datecreation_person |
datefin_person |
fait_connexion |
---|
id_con |
id_person |
dans un premier temps, pour avoir :
le nombre total de connexion j'ai fait un count(id_con)
le nombre de personne active , j'ai fait un count(id_person)
mon soucis se trouve dans cette dernière partie qui porte sur:
le nombre de personne au total(c-à-d toutes les personnes dans la table dim_personne) je ne sais pas quelle condition utilisé dans count(id_person) pour avoir toutes les personnes sachant que le count(id_person) correspond au personne active.
pourriez vous m'aider?
merci
Bonjour,
Pas certain d'avoir compris,
Tu veux compter les personnes dans la table de fait ? (ceux qui ont au moins une connexion)
Dans ce cas, il suffit de créer un champs dans la table de fait qui ne sert pas de lien en faisant par exemple :
id_person as id_person_count
ensuite, tu fais count(DISTINCT id_person_count)
load * resident dim_personne;
left join
load * resident fait_connexion;
You have only one table now!
Bonjour,
Pas certain d'avoir compris,
Tu veux compter les personnes dans la table de fait ? (ceux qui ont au moins une connexion)
Dans ce cas, il suffit de créer un champs dans la table de fait qui ne sert pas de lien en faisant par exemple :
id_person as id_person_count
ensuite, tu fais count(DISTINCT id_person_count)
bonjour
En général il faut utiliser TOTAL
count(DISTINCT TOTAL ID_PERSON)
Eventuellement supprimer la dimension pour avoir le total avec un set analysis
count DISTINCT {<ID_CON>} TOTAL ID_PERSON)
Cordialement
Bonjour Christophe,
Ce que je souhaite avoir c'est le nombre de personnes total dans la table dim_person car dans la table fait_connexion ce n'est que les personnes qui ont fait une connexion.
Bonjour Doris,
comme le disait Christophe, il faut que tu dupliques ton champ id_person de ta table dim_person et que tu la nommes différemment (ex id_person_count)
ensuite, tu fait un
count(distinct id_person_count)
et tu obtiens le nb de personnes différentes dans ta table dim_person...
Si tu ne le fait pas, comme ton champ id_person est une clé de jointure, tu ne compteras que les id_person communs aux 2 champs (soit seulement ceux qui ont une connexion...)
Florent.
Bonsoir Florent, Christophe
Merci pour votre réponse, je viens d'appliquer la méthode et j'ai effectivement le bon nombre que je souhaitais.