Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
JL-97211
Contributor
Contributor

Conversion SQL en Qlik

Bonjour, 

Je me confronte tout juste à Qlik et juste je bug déjà ...

En soit je souhaiterais convertir une chaîne SQL en une chaîne Qlik; Je n'arrive pas à comprendre la logique de LOAD à chaque fois. 

Je travaille à partir de fichier csv  car c'est pareil, je n'arrive pas à réaliser une connexion MariaDB locale à Qlik.

Voici la chaîne que je souhaiterais traduire.

SELECT
id_machine,
(CASE WHEN group_name IS NULL THEN 'Other process' ELSE group_name END) AS GRP,
app_ram AS RAM_used
FROM
Appli_Use
LEFT JOIN Applications ON Appli_Use.app_name = Applications.app_name

UNION

SELECT
id_machine,
'RAM FREE' AS GRP,
FreePhysicalMemory AS RAM_used
FROM
Machines

UNION

SELECT
Machines.id_machine,
'RAM LOST' AS GRP,
TotalVisibleMemorySize - RAM_real AS RAM_LOST
FROM
Machines
LEFT JOIN(
SELECT
id_machine,
SUM(RAM_used) AS RAM_real
FROM
(
SELECT
id_machine,
(CASE WHEN group_name IS NULL THEN 'Other process' ELSE group_name END) AS GRP,
app_ram AS RAM_used
FROM
Appli_Use
LEFT JOIN Applications ON Appli_Use.app_name = Applications.app_name
UNION
SELECT
id_machine,
'RAM FREE' AS GRP,
FreePhysicalMemory AS RAM_used
FROM
Machines
) AS tb_RAM_real_used
GROUP BY
id_machine
) AS tb_temp2
ON
Machines.id_machine = tb_temp2.id_machine
GROUP BY
id_machine

Merci d'avance

2 Replies
ddocquoy
Contributor II
Contributor II

Bonjour,

La notion de UNION n'existe pas. Il est possible de faire des JOIN entre plusieurs requetes mais sans lui indiquer de clé de jointure. Qlik regardera les champs présents dans les requêtes et fera les liaisons dessus.

De même que le CASE n'existe pas, il faut utiliser le IF à la place : if(a=b,Alors,Sinon).

De même que faire une sous-requête dans un FROM n'est pas possible, il faut passer par des Load successif.

Il faut plutôt prendre ça comme un SQL light mais on final, on peux faire de super truc !

 

JL-97211
Contributor
Contributor
Author

Bonjour,

Merci pour votre réponse.

J'ai décomposé  en requête très simple pour arriver à mes fins. Et surtout beaucoup bidouiller pour comprendre le fonctionnement de Qlik.

 

J'ai maintenant un problème de mise à jour mais je vais ouvrir un nouveau topic pour éviter de tout mélanger.