
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Calcul taux occupation
Bonjour
J’ai 2 tables : une table calendrier qui contient une ligne par jour calendaire avec pour chaque date, le mois, l’année, le jour de la semaine, ….
Une table « occupation » qui contient une ligne par service, sejour et date d’occupation dans un service : par exemple pour un sejour du 10 au 15 avril dans le service X j’aurais 5 ligne, une pour le 10, une pour le 11, …
Ces 2 tables sont reliés grâce a une clef basé sur l’égalité occupation.date_occupation = calendrier.date
Les champs année, mois, jour du mois et jour de la semaine de la table calendrier sont en liste de sélection.
Je fais en sorte que l’on ne puisse sélectionner qu’une seule année à la fois.
Dans des tableaux je présente le nombre de présents et le taux d’occupation.
Je veux dans un tableau croisé dynamique présenté le taux d’occupation par mois avec les services en lignes et les mois en colonne
En utilisant cette expression : count ({ <CALEND_ANNEE ={$(= CALEND_ANNEE)}>} distinct CALEND_DATE)
je n’arrive à calculer que le nombre de jour de présence : si au mois de janvier il n’y a eu des présents que 25 jours au mois de janvier j’obtiens 25 jours alors que je dois obtenir 31 jours.
En ajoutant total après distinct j’obtiens tous les jours de la période sélectionnée et non pas celle du mois.
Pour obtenir ce que je veux je dois créer un tableau simple avec le service en dimension et ensuite je crée une expression pour chaque mois, ce qui est peu maintenable
Pour calculer le nombre de présents :
Count ( { <CALEND_OCCUP_ANNEE ={$(=GetFieldSelections(CALEND_OCCUP_ANNEE))}, aband = {0}, CALEND_OCCUP_MOIS={"mois_concerné"}>} OCCUP_DATE_OCCUP)
Pour compter le nombre de place de ce même mois :
count( { <CALEND_OCCUP_ANNEE ={$(=CALEND_OCCUP_ANNEE)}, CALEND_OCCUP_MOIS={" mois_concerné"}>} distinct total CALEND_OCCUP_DATE) * OCCUP_NB_LIT
Y a-t-il une façon plus simple de procéder ?
Merci par avance pour votre aide
- Tags:
- Group_Discussions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Pouvez-vous préciser ce que vous attendez, je ne comprends pas :
daniele leibovici a écrit:
je n’arrive à calculer que le nombre de jour de présence : si au mois de janvier il n’y a eu des présents que 25 jours au mois de janvier j’obtiens 25 jours alors que je dois obtenir 31 jours.
A quoi correspond le "31", pouvez-vous donner la formule de calcul qui permette d'arriver à ce résultat ?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour Daniele,
il faut que tu utilises la fonction intervalMatch dont tu trouveras toute les informations dans l'aide de qlikview.
Bon courage pour la suite.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour,
Pour avoir le nombre de jour en fonction du mois dans ton tableau, tu peux juste ajouter un champs à ton calendrier :
Day(MonthEnd(Date)) as NbJour
Cette expression renvoie le numéro du dernier jour du mois de la date.
Dans ton tableau, si tu fais :
Only(NbJour)
Tu auras le nombre de jours du mois. (il faut le mois en dimension)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour
Merci pour toutes vos réponses
Je vais tester et je vous tiens au courant
De : Christophe Brault
Envoyé : jeudi 27 mars 2014 12:29
À : daniele leibovici
Objet : Re: - Calcul taux occupation
<http://community.qlik.com/> Qlik Community
Calcul taux occupation
reply from Christophe <http://community.qlik.com/people/christophebrault?et=watches.email.thread> Brault in Groupe des Utilisateurs Francophones - View <http://community.qlik.com/message/497026?et=watches.email.thread#497026> the full discussion

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour et merci pour votre réponse
31 est le nombre de jour du mois de janvier
Je dois calculer le taux d’occupation qui est nombre présent / nombre de place pour une période (1 mois, 1 jour, 1 an, …)
Et le nombre de place pour une période c’est le nombre de place *nb jour période
Si pour 1 ou plusieurs jours donnés il n’y a pas de présent dans un service, ce ou ces jours n’apparaitront pas dans ma table des présents
Je calcule donc le nombre de jour sur la table calendrier mais a cause du lien le nombre de jour est le nombre de jour où il y a des presents
Finalement j’ai fait un tableau avec le service en dimension
Et pour les expressions c’est une pour chaque mois ce qui est peu maintenable !
Pour calculer le nombre de présents :
Count ( { <CALEND_OCCUP_ANNEE ={$(= CALEND_OCCUP_ANNEE)}, aband = , CALEND_OCCUP_MOIS={"mois_concerné"}>} OCCUP_DATE_OCCUP)
Pour compter le nombre de place de ce même mois :
count( { } distinct total CALEND_OCCUP_DATE) * OCCUP_NB_LIT
cordialement.
De : Loïc AXILAIS
Envoyé : jeudi 27 mars 2014 12:03
À : daniele leibovici
Objet : Re: - Calcul taux occupation
<http://community.qlik.com/> Qlik Community
Calcul taux occupation
reply from Loïc <http://community.qlik.com/people/laxilais?et=watches.email.thread> AXILAIS in Groupe des Utilisateurs Francophones - View <http://community.qlik.com/message/496993?et=watches.email.thread#496993> the full discussion

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Voici une proposition :
3 tables : la table SERVICE indique le nombre de lits disponibles par service, la table CALENDRIER reprend les différentes dates (je n'ai mis que 2 mois pour ne pas trop alourdir le message) et la table OCCUPATION indiquant quel lit est pris sur quelle période.
SERVICE:
LOAD * INLINE
[
CodeService, NomService, NbLit
1, service 1, 10
2, service 2, 15
3, service 3, 20
4, service 4, 17
5, service 5, 12
];
CALENDRIER:
LOAD * INLINE [
DATE, JOUR, MOIS, ANNEE
01/01/2014, 1, 1, 2014
02/01/2014, 2, 1, 2014
03/01/2014, 3, 1, 2014
04/01/2014, 4, 1, 2014
05/01/2014, 5, 1, 2014
06/01/2014, 6, 1, 2014
07/01/2014, 7, 1, 2014
08/01/2014, 8, 1, 2014
09/01/2014, 9, 1, 2014
10/01/2014, 10, 1, 2014
11/01/2014, 11, 1, 2014
12/01/2014, 12, 1, 2014
13/01/2014, 13, 1, 2014
14/01/2014, 14, 1, 2014
15/01/2014, 15, 1, 2014
16/01/2014, 16, 1, 2014
17/01/2014, 17, 1, 2014
18/01/2014, 18, 1, 2014
19/01/2014, 19, 1, 2014
20/01/2014, 20, 1, 2014
21/01/2014, 21, 1, 2014
22/01/2014, 22, 1, 2014
23/01/2014, 23, 1, 2014
24/01/2014, 24, 1, 2014
25/01/2014, 25, 1, 2014
26/01/2014, 26, 1, 2014
27/01/2014, 27, 1, 2014
28/01/2014, 28, 1, 2014
29/01/2014, 29, 1, 2014
30/01/2014, 30, 1, 2014
31/01/2014, 31, 1, 2014
01/02/2014, 1, 2, 2014
02/02/2014, 2, 2, 2014
03/02/2014, 3, 2, 2014
04/02/2014, 4, 2, 2014
05/02/2014, 5, 2, 2014
06/02/2014, 6, 2, 2014
07/02/2014, 7, 2, 2014
08/02/2014, 8, 2, 2014
09/02/2014, 9, 2, 2014
10/02/2014, 10, 2, 2014
11/02/2014, 11, 2, 2014
12/02/2014, 12, 2, 2014
13/02/2014, 13, 2, 2014
14/02/2014, 14, 2, 2014
15/02/2014, 15, 2, 2014
16/02/2014, 16, 2, 2014
17/02/2014, 17, 2, 2014
18/02/2014, 18, 2, 2014
19/02/2014, 19, 2, 2014
20/02/2014, 20, 2, 2014
21/02/2014, 21, 2, 2014
22/02/2014, 22, 2, 2014
23/02/2014, 23, 2, 2014
24/02/2014, 24, 2, 2014
25/02/2014, 25, 2, 2014
26/02/2014, 26, 2, 2014
27/02/2014, 27, 2, 2014
28/02/2014, 28, 2, 2014
];
OCCUPATION:
LOAD * INLINE [
DATE, CodeService, Periode, NumeroLit
01/01/2014, 1, Du 1 au 5 janvier 2014,1
02/01/2014, 1, Du 1 au 5 janvier 2014,1
03/01/2014, 1, Du 1 au 5 janvier 2014,1
04/01/2014, 1, Du 1 au 5 janvier 2014,1
05/01/2014, 1, Du 1 au 5 janvier 2014,1
03/01/2014, 1, Du 3 au 6 janvier 2014,2
04/01/2014, 1, Du 3 au 6 janvier 2014,2
05/01/2014, 1, Du 3 au 6 janvier 2014,2
06/01/2014, 1, Du 3 au 6 janvier 2014,2
];
Ajouter un tableau croisé dynamique avec les caractéristiques suivantes :
Dimension :
- NomService
- MOIS
Expression :
- Occupation réelle = count(NumeroLit)
- Occupation possible = only(NbLit)*day(monthend(makedate(getfieldselections(ANNEE), ColumnNo(), 1)))
- Taux = [Occupation réelle]/[Occupation possible]*100
Basculer le champ MOIS en colonne et normalement vous devriez obtenir quelque chose d'assez proche de ce que vous recherchez.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Merci beaucoup
Je vais tester et vous tiens au courant
De : Loïc AXILAIS
Envoyé : vendredi 28 mars 2014 10:13
À : daniele leibovici
Objet : Re: - Calcul taux occupation
<http://community.qlik.com/> Qlik Community
Calcul taux occupation
reply from Loïc <http://community.qlik.com/people/laxilais?et=watches.email.thread> AXILAIS in Groupe des Utilisateurs Francophones - View <http://community.qlik.com/message/497806?et=watches.email.thread#497806> the full discussion
