Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Calcul avec condition

Bonjour,

Je me permet de venir vers vous car j'ai un problème pour calculer une donnée.

j'ai une table DM_PERSONNE relié à une table DIM_TEMPS

DIM_PERSONNE
id_personne
nom_personne
date_id
role_personne
externe_id

DIM_TEMPS
date_id
date
année
mois

Mon but est de calculer le nombre de personne actif or la condition pour qu'une personne soit actif est que:

soit:  date='0000-00-00 00:00:00' ou(année>=année courant et mois>=mois courant) et role_personne=1 et exterrne_id est (soit 5, soit 7)

j'ai essaie d'avoir:

count({$<date={'0000-00-00 00:00:00'}, année>=Date(Today(yyyy)), mois>=Date(Today(mm)),role_personne={'1'},externe_id={'5','7'}>} id_personne).

voila comment j'ai pu analyser ma problématique avec set analyse, mais bien évidement j'ai pas trouvé

la solution. pourriez vous me donner un coup de main?

Labels (1)
6 Replies
brunobertels
Master
Master

Bonjour,

Essaye çà peut être :

count({$<date={'0000-00-00 00:00:00'}, année={'$(>=year(today())'}, mois={'$(>=month(today())'},role_personne={'1'},externe_id={'5','7'}>} id_personne)


Bruno


christophebrault
Specialist
Specialist

Bonjour,


count({$<date={'0000-00-00 00:00:00'}, année={'">=$(=year(today())"}, mois={">=$(=month(today())"},role_personne={'1'},externe_id={'5','7'}>} id_personne)

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
Not applicable
Author

Bonjour

Pour tenir compte des AND et OR, la formule devrait ressembler à ça:

=count(DISTINCT

{<date={"0000-00-00 00:00:00"}>+

<année={"$(= '>=' & $(annee_num))"},mois={"$(= '>=' & $(mois_num))"},role_personne={1},externe_id={'5','7'}>}

id_personne)

Je préfère dans les setanalysis travailler sur les dates en num....

Anonymous
Not applicable
Author

Bonjour a tous,

Suite a tous vos messages que vous m'aviez laissé pour m'aider, j'ai toujours pas

trouvé la réponse. J'ai essayé cette réponse:

=count(DISTINCT{$<DATE={"0000-00-00 00:00:00"}>+<YEAR={"$(= '>=' & $(year(today())))"},MONTH={"$(= '>=' & $(year(today())))"},role_personne={'1'},externe_id={'5','7'}>}id_personne)

et cela me retourne 0.

pourtant avec une requête sql j'ai bien un nombre.

pourriez vous m'aider, merci

christophebrault
Specialist
Specialist

Le plus simple pour t'aider est que tu partage une application de test avec nous.

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
Anonymous
Not applicable
Author

Pour vous expliquer voila un exemple de la table sur laquelle je veux faire le calcul.la condition est la suivante:

Une personne est actif si:

PER_EXPIRATIONDATE='0000-00-00 00:00:00' ou PER_EXPIRATIONDATE>=today() , role_personne=1 et exterrne_id est (soit 50, soit 97)

quand je fais

=count(DISTINCT{$<PER_ROLE={'1'},CALL_PERSON_ID={'*'}-{'50','97'}>}PER_ID)

j'ai bien toutes les personnes, mais mon soucis est de pouvoir ajouter la condition de la date.

J'espère que avec ce tableau joins, vous allez comprendre mon besoin.

Merci

calcul actif.png