Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
AurelieP
Contributor II
Contributor II

Vérifier la création d'une ligne dans une table dans une boucle for

Bonjour,
J'utilise une boucle for pour récupérer des coordonnées via un appel API et compléter ainsi une table de clients.

Je fais un premier appel avec une adresse, qui fonctionne bien :

FOR i = 0 TO NoOfRows('Clients') - 1
LET CleClient = Peek('CleClient', $(i), 'Clients');
LET addresse1 = Peek('locad1', $(i), 'Clients');
LET addresse2 = Peek('locad2', $(i), 'Clients');


LET url1 = 'https://api/search?format=json&q=addresse1;
LET url2 = 'https://api/search?format=json&q=addresse2;

// Chargement des coordonnées géographiques depuis l'APId'abord au plus précis avec l'adresse complète
JsonData:
LOAD
num(replace([lat],'"','')) as [Latitude] ,
num(replace([lon],'"','')) as [Longitude] ,
'$(CleClient)' as CleClient

FROM [$(url1)&limit=1] (json);


Ensuite,les adresse n'étant pas forcément "propres", je n'ai que peu de réponses, donc je voudrais faire une appel avec une seconde adresse pour compléter les coordonnées des clients qui n'ont pas été trouvées avec la première adresse.

C'est là que je n'arrive pas écrire la condition pour faire le second appel. Je voudrais inclure dans la boucle une vérification de la création d'une ligne dans la table JsonData, et faire le second appel si la ligne est vide :

LET numRows = NoOfRows('JsonData');
IF '$(numRows)' =0 THEN
   JsonData :
   LOAD
   num(replace([lat],'"','')) as [Latitude] ,
   num(replace([lon],'"','')) as [Longitude] ,
   '$(CleClient)' as CleClient
FROM [$(url2)&limit=1] (json);
END IF;

Next i;


Qu'est-ce qui ne ne va pas dans cette condition ?

Merci d'avance

Labels (2)
0 Replies