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

Jasper Discussion :

Ajout d'un libelle comme champ au query CASE WHEN sur partie d'un champ Date


Sujet :

Jasper

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut Ajout d'un libelle comme champ au query CASE WHEN sur partie d'un champ Date
    Bonjour

    J'utilise Jasper afin d'afficher un LineChart et un CrossTab. Dans le LineChart j'affiche en colonne le Mois, j'affiche également ce libellé comme entête de colonne dans le CrossTab.
    J'ai désormais besoin de mettre cela par trimestre, or le crossTab en entête de colonne ne prend qu'un champ venant du Query.

    J'ai fais ceci qui ne marche pas en JASPER
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ( "(CASE TO_CHAR(trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1)   WHEN '1' THEN 'First Qtr'   WHEN '2' THEN 'Second Qtr'   WHEN '3' THEN 'Third Qtr'   WHEN '4' THEN 'Fourth Qtr'  end)"
    Cela fonctionne en SQL, voici le log JASPER avant qu'il ne plante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    SELECT
         (to_char(iv.inventory_date,'YYYY') || (trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1) ) AS tri,
     
    (CASE TO_CHAR(trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1)  
    WHEN '1' THEN 'First Qtr'   WHEN '2' THEN 'Second Qtr'   WHEN '3' THEN
    'Third Qtr'   WHEN '4' THEN 'Fourth Qtr'  end) AS label,
         NVL(SUM(va.QUANTITY_USED),0) AS value1,
         va.VESSEL_UID,
      ve.VESSEL_NAME,
    (to_char(iv.inventory_date,'YYYY')
    || (trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1) )||':'||(CASE
    TO_CHAR(trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1)   WHEN
    '1' THEN 'First Qtr'   WHEN '2' THEN 'Second Qtr'   WHEN '3' THEN 'Third
    Qtr'   WHEN '4' THEN 'Fourth Qtr'  end) as trititle
    FROM
         LO_VALUATION va,
    LO_VESSEL ve,
    lo_inventory iv
    WHERE va.VESSEL_UID=ve.VESSEL_UID
    and va.month=iv.inventory_month
    and ve.TEU_UID in (2,6,8,12)
    and iv.inventory_date BETWEEN to_date('20/09/2010','DD/MM//YYYY') AND to_date('01/10/2013','DD/MM//YYYY')
    GROUP
    BY (to_char(iv.inventory_date,'YYYY') ||
    (trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1) ), (CASE
    TO_CHAR(trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1)   WHEN '1'
    THEN 'First Qtr'   WHEN '2' THEN 'Second Qtr'   WHEN '3' THEN 'Third
    Qtr'   WHEN '4' THEN 'Fourth Qtr'  end),
        va.VESSEL_UID,
    ve.VESSEL_NAME,
    (to_char(iv.inventory_date,'YYYY')
    || (trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1) )||':'||(CASE
    TO_CHAR(trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1)   WHEN
    '1' THEN 'First Qtr'   WHEN '2' THEN 'Second Qtr'   WHEN '3' THEN 'Third
    Qtr'   WHEN '4' THEN 'Fourth Qtr'  end)
    ORDER BY
    (to_char(iv.inventory_date,'YYYY')
    || (trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1) ), (CASE
    TO_CHAR(trunc(to_number(to_char(va.modif_date, 'MM')) / 3)+1)   WHEN '1'
    THEN 'First Qtr'   WHEN '2' THEN 'Second Qtr'   WHEN '3' THEN 'Third
    Qtr'   WHEN '4' THEN 'Fourth Qtr'  end),
         va.VESSEL_UID ASC

    to_char(va.modif_date, 'MM')) / 3)+1) n'est pas un Field au sens Jasper !

    Une idee ?
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    Resolu avec DECODE

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

Discussions similaires

  1. DISTINCT d'un champ combiné avec CASE WHEN
    Par ninikkhuet dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/05/2010, 15h13
  2. comment ajouter une formulaire infopath comme une liste?
    Par ahmedmido dans le forum SharePoint
    Réponses: 1
    Dernier message: 31/03/2008, 10h40
  3. Réponses: 6
    Dernier message: 10/04/2007, 23h50
  4. Réponses: 5
    Dernier message: 05/10/2006, 10h18
  5. Réponses: 4
    Dernier message: 11/05/2006, 16h23

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