2 pièce(s) jointe(s)
ORA-01843 - Apex 5 - Bar chart
Bonjour,
J'ai un petit souci dont je n'arrive pas à trouver la solution avec Apex 5.
Voila, je veux faire un diagramme en batons basée sur une requête. Grosso modo, c'est un diagramme du chiffre d'affaire en fonction du mois de l'année, et chaque année est une série.
J'ai pour ça besoin de 'densifier' les données, car pour certains mois il n'y a pas d'enregistrement dans la base.
J'obtiens une requête qui me sors les bonnes données lorsque je la teste dans le SQL workshop, mais qui fait afficher un message d'erreur lorsque je tente de faire le diagramme.
Voici la requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| WITH year_month AS (
SELECT ADD_MONTHS ('01-01-2016', LEVEL - 1) ym
FROM DUAL
CONNECT BY LEVEL < MONTHS_BETWEEN (sysdate,'01-01-2016')
)
SELECT extract(month from year_month.ym) as Mois, extract(year from year_month.ym) as Annee, nvl(sum(chiffre_mensuel.ventes_par_mois),0) as Montant_total
FROM year_month
LEFT OUTER JOIN (
SELECT extract(month from D_CMD) as Mois_vrai, extract(year from D_CMD) as Annee_vrai, sum(MONTANT_L) as ventes_par_mois
FROM CMD, DET_CMD
where REF_CMD_DET = CMD_ID
group by extract(month from D_CMD), extract(year from D_CMD)
order by extract(year from D_CMD), extract(month from D_CMD)
) chiffre_mensuel
ON (extract(month from year_month.ym) = Mois_vrai AND extract(year from year_month.ym) = Annee_vrai)
group by extract(month from year_month.ym), extract(year from year_month.ym)
order by Annee, Mois |
Dans mes champs, D_CMD est une date.
Voici le résultat de cette qui marche et qui me donne ce que je cherche :
Pièce jointe 311823
Et voici le résultat quand je tente de faire le graph :
Pièce jointe 311828
J'ai bien vu que l'erreur 01843 est souvent un problème de format de date... mais pourquoi la requête fonctionne correctement ? Et comment résoudre le problème ?
Merci d'avance pour votre aide