Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
mahieuphilippe
Creator
Creator

Création d'un sous total par semaine indépendant du total

Bonjour à tous,

Je débute avec qkiview et forcement j'ai beaucoup de questions et surtout des problèmes concernant mes conceptions.

Je voudrai effectuer un total par semaine du nombre d'ordre de travail et ceci par semaine.

Je suis conscient qu'il faut pour chaque semaine créer une expression qui ne va compter que les orders de travaux inclue dans la semaine demandée

dans la dimension j'ai le type d'ordre de travail , voir le detail avec les pieces jointes.

d'avance merci !!r

Labels (1)
1 Solution

Accepted Solutions
lcloatre
Partner - Creator III
Partner - Creator III

Philippe,

Quelques remarques :

Ne pas mettre la définition des variables dans chaque onglet. Les mettre dans le 1er onglet Main uniquement.

Mettre le nom de la table avant chaque LOAD comme ci-dessous :

Transactions:

SELECT "Transactions1"."Trans_type", "Transactions1"."Work_Supplier_Key", "Transactions1"."Quantity", "Work_history1"."WO_Key",  "Work_history1"."Extra_WO_info5","Work_history1"."Jobexec_date", "Work_history1"."Job_type", "Work_history1"."WO_name", "Work_history1"."Start_date", "Work_history1"."End_date"

FROM   "API3"."PUB"."Transactions" "Transactions1" INNER JOIN "API3"."PUB"."Work_history" "Work_history1" ON "Transactions1"."WO_Key"="Work_history1"."WO_Key"

WHERE  ("Work_history1"."Start_date">={d '2017-01-01'} OR "Work_history1"."Start_date"<={d '2017-06-30'})

AND ("Transactions1"."Trans_type"='I' OR "Transactions1"."Trans_type"='x') AND ("Work_history1"."End_date">={d '2017-01-01'}

AND "Work_history1"."End_date"<={d '2017-06-30'}) AND  NOT ("Transactions1"."Work_Supplier_Key"='COFELY' OR "Transactions1"."Work_Supplier_Key"='Erba Luigi')

ORDER BY "Work_history1"."Jobexec_date";

Comme l'on dit Sébastien et Kevin, il faut que tu créés dans ton chargement le champ Numéro de semaine que tu utiliseras ensuite en dimension dans ton tableau croisé.

View solution in original post

14 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

‌bonjour,

Pour faire simple:

  • Utilises un tableau croisé dynamique
  • Ajoutes une dimension calculée Week(Jobexec_date) que tu mettras en colonne ( ou mieux tu crées cette dimensio directement dans ton script de chargement)
  • Utilises l'expression:  Count(WO_Key)
kevinchevrier
Partner - Creator III
Partner - Creator III

Le plus simple est la solution de Sébastien.

Quand tu iras plus loin, tu auras surement besoin de formule du type :

=aggr(count(WO_Key),Week(Jobexec_date))


Kevin

sfatoux72
Partner - Specialist
Partner - Specialist

‌Salut Kevin,

Attention, le premier paramètre de la fonction AGGR est bien une fonction d'agrégation, par contre les paramètres suivants doivent être des dimensions (pas d'expressions).

Il faudra donc créer le champ "Jobexec_week" par exemple dans ton script de chargement:

   ...

   Week(Jobexec_date) AS Jobexec_week

   ...

Tu pourras alors utiliser l'AGGR :     aggr(count(WO_Key),Jobexec_week)

Mais il ne faut pas abuser des AGGR car ils sont couteux en ressource système.

kevinchevrier
Partner - Creator III
Partner - Creator III

Oui bien vu

mahieuphilippe
Creator
Creator
Author

Bonjour Sébastien,

Tout d'abord merci à toi et à Kevin pour votre réponse ,

J'ai bien effectuer comme indiqué mais le résultat n'est pas ce que j'attends à moins que j'ai mal interpreté et dans ce cas mea culpa

comme indiqué j'ai effectuer la demarche :

mais au resultat il n'effectue pas de calcul spécifique pour ma semaine 22 et donc normalement :

dans la formule je pensais que le calcul ne se fait que si  week (jobexecute_date) = 22

dans mon cas voice le résultat :   il ne distingue pas les semaines

if (Week (Jobexec_date) = 2, count (WO_Key))

 

=if (Job_type = 'I' or Job_type = 'P', 'Préventif', if (Job_type = 'U','Curratif','Correctif'))23
Préventif15721572
Curratif25992599
Correctif12271227

ce que je devrai avoir

   

=if (Job_type = 'I' or Job_type = 'P', 'Préventif', if (Job_type = 'U','Curratif','Correctif'))23
Correctif5742
Curratif12279
Préventif192

48

lcloatre
Partner - Creator III
Partner - Creator III

Philippe,

Peux-tu partager ton appli ?

mahieuphilippe
Creator
Creator
Author

Bonjour Laurent,

ma question peut paraître basique mais comment fais-t-on à savoir que j'ai pas encore un accès full internet (à partir du 01 juillet).

Philippe

lcloatre
Partner - Creator III
Partner - Creator III

Tu ne peux pas joindre ton appli dans ton post ?

mahieuphilippe
Creator
Creator
Author

C fait désolé mais je n'ai pas l'habitude encore avec la communauté  mais c'est fait

merci