Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
mahieuphilippe
New Contributor II

Effectuer un calcul entre deux champs de source differentes

Bonjour à tous,

Je voudrai effectuer des operations entre deux champs qui viennent de sources differents. J'aimerai savoir si c'est possible et si oui

la meilleure façon de procéder.

Je précisse que je suis debutant lol, merci

Tags (1)
10 Replies
kevinchevrier
Contributor III

Re: Effectuer un calcul entre deux champs de source differentes

Bonjour Philippe,

Si tu as 2 sources différentes, tu fais une table temporaire qui joint les 2 (exemple : un left join).

Ensuite tu fais tes calculs dans une table finale.

Exemple :

TABLE_TEMP :

LOAD *

FROM CHEMIN VERS TON FICHIER 1;

left join

LOAD *

FROM CHEMIN VERS TON FICHIER 2;

TABLE :

Load *,

      PREMIER CALCUL as TON_PREMIER_CALCUL

RESIDENT TABLE_TEMP;

drop table TABLE_TEMP;

Kevin

kevinchevrier
Contributor III

Re: Effectuer un calcul entre deux champs de source differentes

Voici une documentation sur les jointures possibles

Understanding Join, Keep and Concatenate

Kevin

kevinchevrier
Contributor III

Re: Effectuer un calcul entre deux champs de source differentes

Et pour info, tu n'es peut-être pas obligé de faire une jointure.

Mais dans ce cas il te faut UNE clé primaire qui fasse liaison entre tes 2 tables. Pas plus sinon tu auras des clés synthétiques.

Kevin

mahieuphilippe
New Contributor II

Re: Effectuer un calcul entre deux champs de source differentes

Bonjour Kevin,

Merci pour ta réponse,  je vais regarder le document et reviens vers toi si j'ai une question si tu le permets

Philippe

lcloatre
Contributor III

Re: Effectuer un calcul entre deux champs de source differentes

Philippe,

Le fait que la source soit différente n'est pas important.

Ce qui est important est de faire la jointure entre les 2 données pour que tu puisses faire ton calcul sur les mêmes bases.

lcloatre
Contributor III

Re: Effectuer un calcul entre deux champs de source differentes

Philippe,

As-tu réussi ?

mahieuphilippe
New Contributor II

Re: Effectuer un calcul entre deux champs de source differentes

Bonjour Laurent,

Merci de prendre des nouvelles mais je suis fort occupé en ce moment mais j'espère regarder jeudi

je te tiens au courant

merci

mahieuphilippe
New Contributor II

Re: Effectuer un calcul entre deux champs de source differentes

Bonjour Laurent,

Je reviens vers toi désolé pour le délai mais j'avais d'autres points à terminer.

concernant mes deux sources, je n'ai pas de clé primaire commune je te montre le script :

LOAD RowNo(),
// RRFDAT,
Date(Date#(RRFDAT, 'YYYYMMDD')) as RRFDAT,
Month(Date(Date#(RRFDAT, 'YYYYMMDD'))) as MOIS,
RRFLIN as Line,
RRMNTT,
RRRPIT,
RRTIME;
SQL SELECT RRFDAT,
RRFLIN,
RRMNTT,
RRRPIT,
RRTIME
FROM NGKCE.EQDLIB.PRRSLTP1
where RRFDAT >= '20170401'; 

pour ma deuxième source :


LOAD


Date("Jobexec_date") as RRFDAT2,
Month(Date("Jobexec_date")) as RRF_MONTH2,
MO_group_key as line,

"Job_type",
"Jobexec_date",
"Jobstatus#",
"MO_name",
"Start_date",
"Stop_time",
"WO_Key",
"MO_code_key",
"MO_group_key",
"WO_name";
SQL SELECT "Job_type",
"Jobexec_date",
"Jobstatus#",
"MO_name",
"Start_date",
"Stop_time",
"WO_Key",
"MO_code_key",
"MO_group_key",
"WO_name"
FROM API3.PUB."Work_history"
WHERE
"MO_group_key" in ('LIGNE 2','LIGNE 4','LIGNE 5') and (Work_history.Jobexec_date>= '2017-04-01') and (Work_history.Jobexec_date<= '2018-03-31') and "Stop_time" > '0.01' and "Job_type" = 'U' ;

eventuellement  dans la première source  la clé  'RRDAT'  est une date   et dans la deuxième le 'jobexec_date' est aussi une date ,

dans ce cas peût-on faire la junction avec ce champs ?

                                       première source                                 deuxième source

mon calcul  est       ( sum (RRTIME) - sum (RRMNTT)) / (count (wo_key)+1)

je vais bien sur regarder de mon côté si tu sais me guider un peu, ce serai sympa

Philippe

sfatoux72
Valued Contributor

Re: Effectuer un calcul entre deux champs de source differentes

‌Salut Kevin,

Pour info, il faut également un ou plusieurs champs en commun dans tes tables pour faire un jointure correcte. Sinon, tu auras chaque ligne de ta 2eme table associée à chaque ligne de ta 1ère table ce qui n'est en général pas souhaité