|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Bonjour,
J'ai une durée d'absence par agent et par date. Je cherche à récupérer les agents ayant au moins deux lignes d'absence d'une durée supérieure à 10 jours ? Si quelqu'un avait une piste ? Merci.
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 159 ![]() |
Salut,
Je pense que tu devrais créer une dimension du genre : ta_dimension=Somme(<durée_d'absence>>10) Puis dans les conditions de ta requête : ta_dimension Supérieur ou égal à "2" Mais je ne suis absolument pas certain du fonctionnement de mon idée ^^ |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Re,
Merci pour la réponse, mais je me suis sans doute mal exprimé. En fait, je veux récupérer chaque ligne d'absence pour les agents ayant au moins deux lignes d'absence d'une durée supérieure à 10 jours. Exemple : Agent 1 du 01/01/2007 au 04/01/2007 = 4 jours du 01/03/2007 au 31/03/2007 = 31 jours du 01/04/2007 au 04/04/2007 = 4 jours Agent 2 du 01/01/2007 au 04/01/2007 = 4 jours du 01/03/2007 au 31/03/2007 = 31 jours du 01/04/2007 au 12/04/2007 = 12 jours Je cherche à récupérer les occurrences de Agent 2 qui a au moins deux lignes d'une durée supérieure à 10 jours.
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 159 ![]() |
D'accord, je pensais que tu disposais déjà de la durée d'absence.
Aparemment, tu n'as que 2 dates, et tu cherches d'abord à calculer la durée, puis ensuite appliquer le traîtement que tu as expliqué, c'est bien ça? |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Re,
Non, j'ai bien pour chaque agent une date de début, une date de fin et une durée. J'arrive bien à afficher un rapport comme dans l'exemple que j'ai donné.
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : mars 2006 Messages : 111 ![]() |
Salut
Je pourrais te proposer de créer un objet dimension qui pointerait sur une fonction à laquelle tu passerais le nom de l'agent, et la période (si tu dois avoir cela en filtre). Ensuite cette fonction te ramènera VRAI ou FAUX. Enfin, tu crées une invite: Where "Plus de 2 absences" = 'OUI' ou la valeur que tu souhaites En espérant avoir apporté un peu de l'eau à ton moulin Frédéric |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Re,
Merci de vos réponses. En fait, pour les familiers du SQL, il me faut l'équivallent de : Code :
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
||
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : mars 2006 Messages : 111 ![]() |
Salut
Je ne crois pas, de mémoire, que tu puisses utiliser ce genre de requête pour créer une dimension. Par contre, une fonction est tout à fait faisable. Frédéric_S |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Citation:
PS : Je ne suis pas pro de BO
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : mars 2006 Messages : 111 ![]() |
Salut
Tu crées une fonction qui sera: F_Calcule_Double_absence ( Agent en entrée) Ensuite sous le DESIGNER, tu crées un objet dimension: <Double Absence> en Alphanumérique Dans la partie SELECT tu mets: F_Calcule_Double_absence( Agent) en pointant sur la bonne table Enfin, 1. soit tu crées un filtre sous le DESIGNER ( si tu dois l'utiliser sur plusieurs rapports) <Double Absence OUI> avec comme code: <Double Absence> = 'OUI' 2. soit tu crées un filtre dans le fournisseur de données de ton rapport: <Double Absence> = "OUI" J'espère que tu as compris mes explications... Frédéric |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Re,
Merci, mais le GROS problème est que je n'ai pas accès au DESIGNER !
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Inscription : mars 2006 Messages : 111 ![]() |
Salut
Désolé, comme ce n'était pas indiqué au début, difficile de le savoir Je pense que tu ne peux pas aussi modifier le SQL dans le fournisseur de données. Dans ce cas, il faut ruser Il te faut une dimension (dans B.O. Reporter) Dim <Nombre Absence 10 jours> Nombre( Durée Absence) Où Durée Absence >= 10 PourChaque Agent Il faudrait que tu connaisses le contexte de calcul de la durée d'absence dans ton tableau. Pour cela Menu Données, il me semble, et "Transformer en variable", puis tu sélectionnes "Evaluer dans son contexte". Tu récupéres cela dans un notepad pour voir ce qui est noté et te permettra de connaître le contexte. Ensuite créer un filtre sur le Général avec <Nombre Absence 10 jours> > 2 (ne sélectionnes pas mais va dans Définir. J'espère m'être fait comprendre. J'espère que d'autres pourront regarder sur B.O. et te redonner les informations plus précises Frédéric |
|
|
00
|
|
|
#13 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Re,
Bien vu, mais je dois faire (ou pas) un truc qui ne convient pas, car quand je saisis le formule : Nombre( Durée Absence) Où Durée Absence >= 10 PourChaque Agent Il me transforme automatiquement ma variable en indicateur et non en dimension. Je ne peux donc pas filtrer dessus ensuite. Une idée ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#14 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 159 ![]() |
Salut,
Essaie : EnNombre(Nombre( Durée Absence) Où Durée Absence >= 10 PourChaque Agent) Ca contournera peut-être le problème du changement dela dimension à l'indicateur). |
|
|
00
|
|
|
#15 | |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Citation:
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 159 ![]() |
Je vais essayer de voir le problème plus en profondeur.
|
|
|
00
|
|
|
#17 | ||
|
Membre habitué
![]() Inscription : mars 2006 Messages : 111 ![]() |
Il me semble que tu peux filtrer sur une INFORMATION. Vérifies ?
Pas besoin de lui indiquer une dimension sur l'onglet de nommage en bas à droite. Sinon, une autre piste provient de la façon de tourner tes éléments pour le transformer en dimension. J'avais déjà effectuer des tests dans ce sens. Code :
EnNombre(Nombre( Durée Absence) Où Durée Absence >= 10 PourChaque Agent) Code :
Frédéric |
||
|
|
00
|
|
|
#18 | |||||
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 810 ![]() |
Citation:
Code :
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|||||
|
|
00
|
|
|
#19 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 159 ![]() |
De toute manière, quoiqu'il arrive il y avait une erreur dans les parenthèses si tu regardes bien.
|
|
|
00
|
|
|
#20 |
|
Membre habitué
![]() Inscription : mars 2006 Messages : 111 ![]() |
Salut
Tu as raison Byrdo, mais en écrivant vite et en faisant 10 choses à la fois, cela est excusable. PC75, c'est normal, l'erreur puisque je n'ai pas mis les "<" et ">", si tu n'avais pas corrigé de toi-même. Approfondis mais je pense que tu dois arriver à trouver. Sinon avances par étape en mettant uniquement la durée de l'absence puis uniquement PourChaque <Agent> Frederic_s |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com