Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour a tous,
Etant débutant sur le script qlik sens, je vous partage ma conception de script en cours ci-dessous:
je m'explique:
J'ai 04 tables de faits : StockFI: via QVD/ Prevision: via QVD / AChat: via excel /Article: via excel
Dans la table StockFI: j'ai la qtySF actualisé par jour.
dans Prévision: j'ai la qtéP pour le 06 prochain mois.
Et dans AChat: j'ai la qtéEC par date d'arrivé probable.
Et la table Article: va servir le regroupement de la "clearticle" par "DescArt".
J'ai crée un Tablelien: afin de sortir un tableau qui va me donner les qtés par table suivant la "Date clé" que j'ai regroupé en Date de début du mois.
Le résultat actuel me donne ceci en filtrant un "DescArt": les mesures sont bon jusque là.
DescArt | Datecle | sum(qtysf) | sum(qteP) | sum(QteEC) |
MALT PILSEN | 01/07/2019 | 4 731 400 | 1 502 038 | 153 000 |
MALT PILSEN | 01/08/2019 | 0 | 1 652 233 | 2 346 000 |
MALT PILSEN | 01/09/2019 | 0 | 1 647 004 | 3 468 000 |
MALT PILSEN | 01/10/2019 | 0 | 1 723 256 | 306 000 |
MALT PILSEN | 01/11/2019 | 0 | 1 570 142 | 1 638 000 |
MALT PILSEN | 01/12/2019 | 0 | 1 744 057 | 1 125 000 |
Mon objectif est de pouvoir calculer le stockFinal par Datecle selon la logique:
SF calculé = Sum(Qtysf) + sommecumulative(QteEC) - sommecumulative(qteP) d'où la sommecumulative (qtéP) doit tenir en compte la "qteP" des 24 jour déjà passés du mois en cours. soit la formule:
Sum({<Datecle={"$(=Addmonths(Min(Datecle),+0))"}>}qteP)/Day(MonthEnd(Date(Today(2),'MMM')))*(-1+Day(Today(2))) = 1 502 038 * 24j/31j et cela me donne = 1 162 868.
Ci-dessous donc le résultat attendu : (en fichier attaché l'excel du résultat attendu)
DescArt | Datecle | sum(qtysf) | sum(qteP) | sum(QteEC) | Prev 24j | Cumul prev restant | Cumul Achat | Stock Fi calculé | Couverture en semaine |
MALT PILSEN | 01/07/2019 | 4 731 400 | 1 502 038 | 153 000 | 1 162 868 | 339 170 | 153 000 | 4 545 230 | 11 |
MALT PILSEN | 01/08/2019 | 0 | 1 652 233 | 2 346 000 | 1 991 403 | 2 499 000 | 5 238 997 | 13 | |
MALT PILSEN | 01/09/2019 | 0 | 1 647 004 | 3 468 000 | 3 638 407 | 5 967 000 | 7 059 993 | 16 | |
MALT PILSEN | 01/10/2019 | 0 | 1 723 256 | 306 000 | 5 361 663 | 6 273 000 | 5 642 737 | 14 | |
MALT PILSEN | 01/11/2019 | 0 | 1 570 142 | 1 638 000 | 6 931 805 | 7 911 000 | 5 710 595 | 13 | |
MALT PILSEN | 01/12/2019 | 0 | 1 744 057 | 1 125 000 | 8 675 863 | 9 036 000 | 5 091 537 | 12 |
Espérant votre aide et à dispo pour le complément d'infos.
SCRIPT
StockFI:
LOAD
COMPANY_CODE as entitésf,
PART_CODE as clearticle,
"SUM(IC_PRODUCT_STATUS.IC_QUANTITY)" as qtysf,
"SUBSTR(IC_PRODUCT_STATUS.WAREHOUSE,1,1)"as Mg1sf,
"CASEWHENSUBSTR(PRODUCT_WAREHOUSE.GL_INV,1,1)IN('A','U','B')THENSUBSTR(PRODUCT_WAREHOUSE.GL_INV,4,6)ELSESUBSTR(PRODUCT_WAREHOUSE.GL_INV,2,6)END" as CompteSF,
AVERAGE_COST,
VALEURSF,
Date(Today(2))as DateSF,
YEAR(Date(Today(2)))as AnnéeSF,
Month(Date(Today(2)))as MoisSF,
MonthStart(Date(Today(2)))as Datecle
FROM [lib://QlikSense Sources (s_tana_00_qlik_dev) (s_tana_00_qlik_dla)/41-SFMP_J-1.qvd]
(qvd);
Prevision:
LOAD
"SUBSTR(STR_S_PREVISIONS_CONSO.WAREHOUSE,1,1)" as MgP,
PERIOD,
MonthStart(Date(Date#("YEAR"&'-'&PERIOD,'YYYY-MM')))as Datecle,
PART_CODE as clearticle,
COMPANY_CODE,
CONSO_QUANTITY as qteP,
"TO_NUMBER(STR_S_PREVISIONS_CONSO.DATE_DE_MAJ)" as YMmaj,
"STR_S_PREVISIONS_CONSO.YEAR*100+STR_S_PREVISIONS_CONSO.PERIOD" as YM_Prev
FROM [lib://QlikSense Sources (s_tana_00_qlik_dev) (s_tana_00_qlik_dla)/41-PREV_MP.qvd]
(qvd);
AChat:
LOAD
SteDA,
"1lmDA",
ArtEC As clearticle,
QteEC,
"Date DAP",
MonthStart(Date("Date DAP")) as Datecle,
"Statut EC",
FOURNISSEUR,
lun1ersem
FROM [lib://Source_Excel (s_tana_00_qlik_dla)/Prev Achat.xlsx]
(ooxml, embedded labels, table is [Achat en cours]);
Article:
LOAD
Clearticle as clearticle,
DescArt,
ClasseArt
FROM [lib://Source_Excel (s_tana_00_qlik_dla)/Prev Achat.xlsx]
(ooxml, embedded labels, table is Article);
TableLien:
Load qteP,clearticle,Datecle Resident Prevision;
Concatenate (TableLien)
Load qtysf,clearticle,Datecle Resident StockFI;
Concatenate (TableLien)
Load QteEC,clearticle,Datecle Resident AChat;
Drop Fields clearticle,Datecle From Prevision;
Drop Fields clearticle,Datecle From StockFI;
Drop Fields clearticle,Datecle From AChat;
Calendrier:
Load Datecle,Month(Datecle)as MoisCal,Year(Datecle)as AnnéeCal Resident TableLien;