Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
le montant commandé afficher 37635.20 est la somme de toutes les lignes alors que moi je voudrais afficher le montant unitaire de chaque ligne (15*0*.52),
comment je peux faire svp, je voudrais que le montant receptionnee affiche la somme de total des ligne sur une période définie
Pour la gestion des dates voici un exemple que j'utilise au quotidien.
Les variables sont celles incluse dans les calendrier.
Pour info, j'utilise aussi un curseur basé sur la date (Les usr aiment bien)
= sum(
{$<
date_comptabilisation = {">=$(=var_date_debut_collecte)"} * {"<=$(=var_date_fin_collecte)"}
>}
montant_ht
)
Bonjour,
Est-ce que le prix total est dans ta table et est-ce que le prix unitaire l'est également ?
Normalement on peut gérer ce type de situation avec une fonction de type aggr().
A défaut, peux-tu joindre ta table sous format Excel ?
Didier
Do you have a sample file you can share with required output?
yes this is the file with the result required output, if you like i can send you the QVD file
Bonjour,
D'après ce que je remarque, il faut faudra travailler avec la zone "DELIVERY_DATE" car vous n'avez pas de clé unique "KEY UNIQUE".
Pour en construire une, je vous préconise de la créer au chargement de votre table, de la manière suivante:
LOAD PURCH_DOC + DELIVERY_DATE as key_purch_doc
ou hash128(PURCH_DOC + DELIVERY_DATE) as as key_purch_doc; ce qui la rend cryptée.(pas utile)
Ensuite, dans la formule vous pourrez utiliser la fonction : =sum(aggr(sum montant), key_purch)
Est-ce le résultat attendu :
Voici le résultat de la table
Et le script de chargement:
fic_tmp:
load * inline [
COMPANY, PURCH_DOC, DELIVERY_DATE, AMOUNT
GST-BRU, C8140061, 20160307, 1233,69
GST-BRU, C8140061, 20140430, 1593,52
GST-BRU, C8140061, 20141231, 1593,52
GST-BRU, C8140061, 20150131, 1593,52
GST-BRU, C8140061, 20150228, 1593,52
GST-BRU, C8140061, 20150331, 1593,52
GST-BRU, C8140061, 20150430, 1593,52
GST-BRU, C8140061, 20150531, 1593,52
GST-BRU, C8140061, 20150630, 1593,52
GST-BRU, C8140061, 20150731, 1593,52
GST-BRU, C8140061, 20150831, 1593,52
GST-BRU, C8140061, 20160131, 1593,52
GST-BRU, C8140061, 20160229, 1593,52
GST-BRU, C8140061, 20160331, 359,83
];
fic:
load PURCH_DOC & '-' & DELIVERY_DATE as KEY_PURCH_DOC,
COMPANY,
PURCH_DOC,
DELIVERY_DATE,
left(DELIVERY_DATE, 4) as YEAR_DELIVERY_DATE,
AMOUNT
resident fic_tmp;
drop table fic_tmp;
En espérant que çà réponde à ton besoin.
Bonjour Didier,
merci pour ton implication,
j'ai réussi à résoudre le problème, il y avait une mauvaise interprétation de ma part de spectre?
Par contre la je dois afficher la somme de montant réceptionne selon une période entre une date min et une date max
Pour la gestion des dates voici un exemple que j'utilise au quotidien.
Les variables sont celles incluse dans les calendrier.
Pour info, j'utilise aussi un curseur basé sur la date (Les usr aiment bien)
= sum(
{$<
date_comptabilisation = {">=$(=var_date_debut_collecte)"} * {"<=$(=var_date_fin_collecte)"}
>}
montant_ht
)
merci Dedier,
c'est ce que j'ai fait, j'ai creer deux variable date min et date max, mais je n'arrive pas a le mettre en place dans qlikview coté restitution
// Définir les Dates Min et Max
Let vMinDate = Num(Makedate(2008,1,1));
Let vMaxDate = Num(Makedate(2020,1,1));
// Générer toutes les dates possibles entre la date Min et la Date Max
ChampDate:
LOAD
date($(vMinDate)+IterNo()-1) AS MaDate
AUTOGENERATE (1)
WHILE $(vMinDate)+IterNo()-1<= $(vMaxDate);
// Créer une table Calendrier qui va contenir les différentes représentations des dates
Calendrier:
LOAD
MaDate AS EXP_DELIVERY_DATE,
Year(MaDate) AS Year,
'T ' & Num(Ceil(Month(MaDate)/3),'(ROM)0') AS Trimestre,
Month(MaDate) as Month,
MonthEnd(MaDate)as DateFinMois,
Week(MaDate) AS Semaine,
Weekday(MaDate) AS JourSemaine,
Day(MaDate) AS Jour
RESIDENT ChampDate;
//supprimer la table ChampDate
DROP TABLE ChampDate;
Les variables sont a déclarer et à positionner DANS l'objet Calendrier.
Depuis longtemps j'utilise ce système sans problème.
En voici un exemple pris en production: