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

Webi Discussion :

trouver les 12 dernières semaines de l'année en cours.


Sujet :

Webi

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut trouver les 12 dernières semaines de l'année en cours.
    Bonjour,

    je travaille sur SAP BI4.2 qui est basé sur oracle 11G via SAP.
    j'ai un objet de type chaine. Son nom c'est semaine et il envoie les valeurs suivantes:
    2018-01,2018-12,2018-22, 2019-01, 2019-02,2019-12.....2019-30(semaine actuelle)
    Je cherche à avoir les 12 dernières semaines incluant bien sûr la semaine actuelle de l'année en cours.

    j'aimerais si possible si l'utilisateur est à cheval entre deux années, lui donnant également la possibilité de tomber sur l'année d'avant également.

    De préférence j'aimerais gérer si possible ce calcul glissant dans l'univers.

    Quelqu'un peut il m'aider s'il vous plait?

    Cordialement

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Hello,

    Pour rappatrier la semaine S-12, tu peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =FormatDate(DateRelative(DateActuelle();-12;PériodeSemaine);"ww-yyyy")
    Tu le passe en variable et dans tes tableaux ou dans ton onglet, tu filtre semaine >= à ta variable, ça te donnera les 12 dernières semaines.

    Pour l'univers, je ne sais pas, je n'utilise pas Oracle

    Bonne semaine

    François

  3. #3
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Hello,

    Il faut ajouter un filtre prédéfini dans l'univers dont la formule serait du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NOMTABLE.COLONNEDATE between trunc(sysdate-11*7,'IW') and trunc(sysdate,'IW')
    A tester et ajuster bien sûr

    A+
    Doc
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut trouver les 12 dernières semaines de l'année en cours.
    Bonjour François

    Merci d'avoir pris ton temps pour me répondre.
    J'ai crée ta variable en modifiant le format qui n'était pas dans l'ordre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =FormatDate(DateRelative(DateActuelle();-12;PériodeSemaine);"yyyy-ww")
    Je l'ai qualifié en qualification dimension. En l'affichant seule dans un rapport vierge j'ai la semaine 2019-19 affiché.
    Ce qui ne correspond pas à la première semaine des 12 premières semaines.
    j'ai fais le filtre que vous m'avez proposé dans le rapport. J'ai dans l'entête le chiffre 1 qui apparaît et non les 12 premières semaines.

    peux tu me dire ce qui n'a pas fonctionné? Sachant que j'exécute pour l'instant la requête sur toutes les semaines de l'année actuelle.
    Une fois que vous aurez trouvé ce qui m'empêche d'afficher les 12 dernières semaines, comment faire en sorte que les objets qui sont en contrôle d'entrée puisse s'afficher en fonction des 12 dernières semaines du rapport?

    En attendant ta réponse merci.

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par doc malkovich Voir le message
    Hello,

    Il faut ajouter un filtre prédéfini dans l'univers dont la formule serait du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NOMTABLE.COLONNEDATE between trunc(sysdate-11*7,'IW') and trunc(sysdate,'IW')
    A tester et ajuster bien sûr

    A+
    Doc

    Bonjour Doc,

    merci d'avoir pris le temps de pouvoir essayer de m'aider.
    En fait, si j'ai bien compris, il faut que je fasse un nouvel objet dans BLX et que je choisisse filtre au lieu de dimension ou info etc..
    Et que je mette dans le filtre le script que vous m'avez envoyé à savoir: NOMTABLE.COLONNEDATE between trunc(sysdate-11*7,'IW') and trunc(sysdate,'IW').
    est ce que si je transpose votre filtre je peux mettre exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableA.Semaine between trunc(sysdate-11*7,'IW') and trunc(sysdate,'IW')
    Doc mon objet Semaine est en chaine de caractère et correspond à 2019-22 ou 2019-numero quelconque de la semaine.
    Doc peux tu me dire à quoi correspond le I?
    Quand j'essaie tableA.Semaine between trunc(sysdate-11*7,'IW') and trunc(sysdate,'IW') il me montre ORA-01861: literal does not match format string
    Quand je modifie en date l'objet semaine j'ai le même problème.
    N'ya t'il pas un problème avec I et W?
    Pouvez vous m'aider pour que j'applique votre proposition de script?

    Merci d'avance

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut trouver les 12 dernières semaines de l'année en cours.
    Bonjour,

    François,

    ta solution que tu m'as proposée est bonne finalement pour le rapport.
    Par contre, j'aimerais la transposer en Univers basé sur oracle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =FormatDate(DateRelative(DateActuelle();-11;PériodeSemaine);"yyyy-ww")
    la date max il suffit de mettre FormatDate(DateRelative(DateActuelle();+0;PériodeSemaine);"yyyy-ww")),
    après effectivement on fait un filtre en récupérant l'objet semaine entre les deux, il donne 0 et 1 et là on filtre sur 1 pour avoir les dates 2019-25 et 2019-36 pour la semaine en cours.

    Par contre mon problème est que je n'arrive pas à convertir cela dans le langage de l'univers.
    =FormatDate(DateRelative(DateActuelle();-11;PériodeSemaine);"yyyy-ww") >>>>>> L'univers donne quoi comme fonction?
    Je ne trouve pas de daterelative dans l'univers ni de periodeSemaine.

    J'avais essayé une autre méthode mais lorsque à la place de -11, je mets -36 il ne sait pas passer à l'année précédente dans l'univers.
    Sur Webi, j'y arrive.

    Quelqu'un peut-il m'aider? Bruno, Mr DOC ou quelqu'un d'autre ?

    Merci d'avance

  7. #7
    Membre habitué
    Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2009
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Février 2009
    Messages : 101
    Points : 136
    Points
    136
    Par défaut
    Bon, j'arrive probablement trop tard pour Haiticherie, mais pour ceux qui suivront et sous une forme légèrement différente des intervenants précédents :

    Pour obtenir la "semaine - 12" sur Oracle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       select to_char(sysdate + (11*-7),'YYYYIW') "12WeekAgo" from dual;
    et un exemple pour obtenir une liste de semaine (issue d'une table de référence) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT TO_CHAR (calendrier.date_calendrier, 'YYYYIW')
      FROM calendrier
     WHERE TO_CHAR (calendrier.date_calendrier, 'YYYYIW') > TO_CHAR (SYSDATE + (36 * -7), 'YYYYIW')
       AND calendrier.date_calendrier <= SYSDATE;

Discussions similaires

  1. [XL-2007] Trouver toutes les dates des semaines de l'année
    Par apt dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/06/2012, 22h12
  2. Indemnité de stage non payée sur les 6 dernières semaines
    Par mvk44 dans le forum Droit du travail
    Réponses: 3
    Dernier message: 25/01/2011, 17h34
  3. [Dates] numéro de la dernière semaine de l'année
    Par LYPACAN dans le forum Langage
    Réponses: 6
    Dernier message: 22/09/2008, 13h08
  4. Réponses: 3
    Dernier message: 10/01/2008, 18h13
  5. recuperer les n° de semaine sur plusieurs années
    Par meredith dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/11/2007, 10h40

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