IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Requete avec date du jour - 6 mois [DeskI V5-V6]

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Requete avec date du jour - 6 mois
    B.O 6.5 SP2
    Base de donnée SQL
    Accès utilisateur seulement à la base de donnée

    Bonjour,
    Je veux completer une requête déjà existante qui rapatrie des données en fonction d'une date de jouissance. A la base il fallait saisir la date de jouissance. Suite à ma formation BO j'ai voulu améliorer cette requête en ajoutant un objet qui permet lorsque l'on met à jour les données de rapatrier les données correspondant à la date du jour - 6 mois.

    Voici ma formule :
    Objet personnel ...type date....dimension....hierarchie automatique dans le temps sur mois.
    Ajouter mois ( DateCourante(), -6 )
    Et j'obtiens un message d'erreur ....caractère incorrect UNM0010
    Idem avec DateRelative(DateCourante() ,-180)

    Je précise que je suis vraiment un débutant .....c'est ma toute première requete sur BO
    Merki d'avance

  2. #2
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    Pourquoi ne pas simplement saisir une période de dates ???

    date >= invite( "Date >= à ?")
    et
    date <= invite( "Date <= à ?")

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par bastoonet Voir le message
    Pourquoi ne pas simplement saisir une période de dates ???

    date >= invite( "Date >= à ?")
    et
    date <= invite( "Date <= à ?")
    Avec une période comment je vais pouvoir signifier la date du jour -6 mois ? La notion de 6 mois étant importante pour cette requête. Je sais je suis un peu blond
    En fait j'arrive à créer une variable mais pas de requête
    Je précise que la base de données est très très très vaste et le résultat ne doit pas être exhaustif ...j'ai peur de perdre des données en étant trop restrictif avec une période de tant à tant.
    Le début de la requête est le suivant date de jouissance inférieure ou égale invite "date de jouissance".....et c'est là que je veux ma requête. En fait mon exercice serait d'enlever l'invit pour remplacer par la date du jour -6 mois en automatique....je sais je suis chiant
    La formule est bonne pour une variable mais comment en faire une requête ?

  4. #4
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Je comprends pa

  5. #5
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    J'avoue ne pas bien comprendre...
    Tu parles de supprimer l'invite ?
    Tu veux faire en SQL à la carte ?
    Tu veux un filtre directement dans le rapport ?
    Tu veux créer un filtre dans le designer ? (tu n'y as pas accès je crois)

    Si tu veux tout mettre directement dans l'éditeur de requête, il faut avoir accès au designer...

  6. #6
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    d'abord qu'est ce que le designer ?
    Et oui je suis vraiment débutant donc je m'exprime pas très bien. Oui je veux tout mettre dans une requête pour que lorsque j'ouvre le rapport que j'ai juste à cliquer sur mettre à jour pour que les données se rafraichisse à la date du jour - 6 mois .
    Mais bon je vais continuer de potasser sur le net et dans la notice ....

  7. #7
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Je ne sais pas si il y a une définition du designer dans le forum, je n'ai jamais regardé... En gros, le designer représente plus ou moins un MCD. Le schéma contient les tables et les jointures qui les lient. De ces tables, sont générés des objets que tu utilises pour tes rapports : dimension, indicateur, information.

    Voilà le designer vraiment en global.

    Tu as 2 possibilités pour ton rapport. Soit tu as accès au designer, soit tu mets un filtre dans ton rapport, et non pas dans l'éditeur de requête.

    Solution Designer :
    Il te faut créer un filtre : tadate between sysdate and add_months(sysdate,-6)

    Solution Rapport :
    Il faut créer un filtre : Monthsbetween(tadate;currentdate())<=6

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 78
    Points : 70
    Points
    70
    Par défaut
    Bonjour,

    Je suis en version XI 3.1.

    Je ne sais pas si j'ai bien compris l'énoncé de ton problème mais si tu construis la variable suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DateRelative(DateActuelle();- 180)
    Elle me retourne un résultat correct. Par contre les mois n'ayant pas les mêmes jours, tu trouves un différentiel de deux jours parfois.

    Dans la construction de ton rapport , tu rajoutes une colonne et tu insères ta variable.

    Par contre, si dans ton éditeur de requête, tu veux mettre en condition date du jour - 6 mois, as tu les objets adéquat dans ton univers ?

    Cordialement

    Emma

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 78
    Points : 70
    Points
    70
    Par défaut
    Julien 59 m'a fait penser à autre chose...

    Je créée une Variable nommée [Ecart mois]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MoisEntre([Date début situation];DateActuelle())
    Puis la formule suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Si([Ecart mois]=6) Alors "- 6 mois" Sinon [Ecart mois]
    Je transforme la formule en variable de type dimension si je veux filtrer.

    Voili, voilou...

  10. #10
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Par contre les mois n'ayant pas les mêmes jours, tu trouves un différentiel de deux jours parfois.
    D'où l'utilisation du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monthsbetween(currentdate();tadate)<=6
    ... Qui prend en compte le nombre de jours dans le mois...
    Ca renvoie un booléen, donc 1 ou 0. Et après, il faut écarter le 0.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 78
    Points : 70
    Points
    70
    Par défaut
    J'avais tester ta solution Julien 59 qui fonctionne aussi mais j'avoue que l'anglais et moi ça fait un chiffre exponentiel... ( et voilà je passe pour une quiche).

    currentdate = date actuelle, si je ne m'abuse mais tadate?

  12. #12
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    tadate = la date qu'il utilise dans le rapport pour faire son filtre

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 78
    Points : 70
    Points
    70
    Par défaut
    ... le monde du silence de cousteau!

    J'étais partie sur un truc du style data... et ben non c'était bien en français!

  14. #14
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci à tous de vos contributions ça fais plaisir même si je me sens vraiment novice .....première requête

    Alors j'ai essayé de découvrir un peu plus l'univers dans lequel je travaille qui est extrement vaste et je me suis aperçu que ne figure pas la date courante. Par contre quand j'ai construit ma variable j'ai fais attention au principe que mon domaine on ne resonne qu'en mois de 30j ....et un jours ou deux de décalage et une marge d'erreur très acceptable pour les données que j'exploite.
    Julien je n'ai pas accés au designer :-( domage, je vais tester le filtre et je vous tiens au courant. Merci à tous

  15. #15
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    Moi je confirme que c'est plus simple et plus souple d'utiliser des conditions dans ta requête pour définir une période de 6 mois
    (en utilisant des invites)

    ex :

    Date >= 15/01/2009
    ET
    Date <= 15/07/2009

    voila ça fait six mois.....pour aujourd'hui...28/04/2009
    date >= 28/10/2008 et date <= 28/04/2009

    ( tu peux également utiliser l'opérateur "entre" ... )



    Cela a l'avantage de ne pas imposer l'exécution de la requête selon la date actuelle....par exemple si on te demande les statistiques pour les 6 derniers mois de 2008....tu peux le faire avec le même rapport.....sinon tu est obligé de te baser sur la date du jour....

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 78
    Points : 70
    Points
    70
    Par défaut
    C'est vrai que l'idée de Bastoonet est intérressante d'autant plus qu'avec des invites tu peux créer un titre dynamique avec Réponseutilisateur...

    C'est plus souple qu'une variable. Je prend l'idée...

  17. #17
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bon après une après midi de test le bilan est le suivant
    Le filtre me pose un problème sur le résultat, j'ai repris la formule indiqué par julien59 mais les résultats ne conviennent pas ...en effet malgré ce filtrage je retrouve des résultat de 2009.
    Pour l'instant j'applique un dérivé de Bastoonet en ajoutant une invit date après un inférieure ou égale
    mais mon choix originel est de retrouver tous les dossiers à partir de la date du jour -6mois juste en mettant à jour les données sans rien saisir .......
    Je persevère et merci encore

  18. #18
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Une partie du chemin trouvé c'est un peu long mais bon
    Donc je fais 3 variables :

    1/ année -6mois : =Si NuméroDuMoisDeAnnée(DateCourante())>6 Alors Année(DateCourante()) Sinon Année(DateCourante())-1
    2/ mois -6mois : =Si NuméroDuMoisDeAnnée(DateCourante())>6 Alors NuméroDuMoisDeAnnée(DateCourante())-6 Sinon 6+NuméroDuMoisDeAnnée(DateCourante())
    3/ date j-6mois : =EnDate(NuméroDuJourDuMois(DateCourante())&"/"&<Mois -6mois>&"/"&<Année -6mois> ,"jj/mm/aaaa")

    En effet ,les fonctions que j'utilise pour faire ce calcul ne sont pas disponibles quand on crée un objet personnel en tant qu’utilisateur BO

    Ensuite je reflechis à relier le resultat de ma requête à cette variable .....hum encore du chemin mais avec la piste de la réponse utlisateur merci emma je vais y arriver
    Encore merki à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] requete avec date du jour - 30
    Par le69 dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 31/01/2013, 15h38
  2. [debutant]Probleme de requete avec date
    Par shub dans le forum Access
    Réponses: 9
    Dernier message: 12/05/2006, 10h01
  3. requete avec date et heure
    Par robert_trudel dans le forum Access
    Réponses: 2
    Dernier message: 26/04/2006, 00h15
  4. [MySQL] requete avec date
    Par le69 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 04/12/2005, 21h31
  5. date du jour - 1 mois
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 14/04/2005, 09h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo