Qlik Community

App Development

Discussion board where members can learn more about Qlik Sense App Development and Usage.

Announcements
QlikWorld 2022, LIVE in Denver CO., May 16-19, 2022. REGISTER NOW TO RECEIVE EARLY BIRD PRICING
cancel
Showing results for 
Search instead for 
Did you mean: 
AntoineADS
Contributor II
Contributor II

Attribuer des coordonnées en fonction d'un champs - Formule

Bonjour, 

J'ai besoin d'aide concernant une formule que j'essaie de mettre en place. Malheureusement, je ne trouve rien sur internet et je pense que ça pourra intéresser des personnes. 

Pour être simple, je souhaiterais attribuer des coordonnées d'une carte par rapport à des codes internes à mon organisation. 

J'ai essayé plusieurs techniques en passant par des boucles SI comme par exemple : 

Pour la latitude : 

= if([mon champ ( ma zone  )]='NOR',49.4733694)       => cela correspondant à la latitude du Havre par exemple

Pour la longitude : 

=if([mon champ ( ma zone )]='NOR',0.1960866)        => cela correspondant à la longitude du Havre par exemple

Malheureusement cela ne donne aucun résultat. 

Avez vous des propositions ou modifications de la formule ? 

 

En vous remerciant,

Antoine

1 Solution

Accepted Solutions
AntoineADS
Contributor II
Contributor II
Author

Bonjour, 

Alors ça fonctionne en passant par une formule de séparation. J'ai donc constitué une formule dans la section longitude et une autre formule dans la section latitude. 

C'est assez long et moins pratique qu'en faisant une table. Si vous avez une organisation qui ne vous permet pas de toucher à vos tables, il est préférable de créer des formules  pour éviter d'impacter l'organisation. 

Voici un exemple pour la localisation (coordonnées au hasard)  :

Longitude : if( [ma table(mon champs)] = 'LH1',49.235145, if([ma table(mon champ)] ='DG1',47.2541556))

Latitude : if( [ma table(mon champs)] = 'LH1',0.235145, if([ma table(mon champ)] ='DG1',0.2541556))

Voilà encore merci, en demandant des fois ça nous oriente vers le bon chemin.

Bonne continuation,

Antoine 

 

View solution in original post

6 Replies
Denisg
Contributor III
Contributor III

Bonjour Antoine,

Pas sûr de comprendre le sujet.
Ici, tu veux partir de la ville (Le Havre) et obtenir ses coordonnées?
Peux tu préciser?
Si ton modèle de données contient la Ville et une relation vers des coordonnées, tu dois pouvoir directement utiliser le résultat de cette liaison.
Du genre : Only({<[Ville]='Le Havre'>} Latitude)

AntoineADS
Contributor II
Contributor II
Author

Bonjour, 

Merci beaucoup pour la réponse, je vais clarifier. J'ai une multitude de champs ne contenant aucun champs de ville, pays ou lat/lon mais des "codes spécifiques" à mon entreprise. (qui correspondent à des géolocalisations en réalité)

Ainsi, je souhaiterais interpréter ces codes et leur attribuer une vraie localisation à travers une formule. 

Par exemple : 

Le havre va correspondre dans ma base de données à LH1 et New York à NY1.

Comment puis-je intépréter le code pour inclure toutes mes données en une formule ? Dois-je effectuer une partie en lat et une partie en lon sur la géolocalisation de la carte. 

if([mon champ ( ma zone )]='LH1',0.1960866, if([mon champ ( ma zone )]='NY1',2.1960866))  ? 

En vous remerciant par avance pour l'aide.

Bien cordialement,

Antoine

Denisg
Contributor III
Contributor III

Bonjour Antoine,

(desole, je n'ai pas les accents)

Si comme dans cette table on a un code geo et les latitude et longitude, on a tout ce qu'il faut pour afficher ce lieu sur la carte.
Seule la relation entre le CodeGeo et les coordonnee est utile. Pourquoi utiliser une formule pour cela?

La difficulte est de creer cette table qui lie CodeGeo et Coordonnees, comme ci dessous. Apres, c'est Qlik  qui gere. Dans l'application attachee, j'ai utilise un script Inline, mais en le remplacant  par des tables de votre base de donnees, cela fonctionnera.

Denisg_0-1615975452123.png

Denis

AntoineADS
Contributor II
Contributor II
Author

Bonjour Denis, 

Merci beaucoup pour ces clarifications. Cependant, étant dans une grande organisation je n'ai pas la possibilité de toucher aux tables de données et d'affecter des coordonnées. Je viens d'essayer et malheureusement cela n'est pas faisable. C'est pour cela que j'essaie de me tourner vers une formule. 

Auriez vous une autre solution ? 

En vous remerciant par avance, 

Bien cordialement,

Antoine

AntoineADS
Contributor II
Contributor II
Author

Bonjour, 

J'ai peut-être contourné en utilisant ta méthode. Je viens de créer une table en affectant suivant mon champ une localisation par une formule. A voir si cela fonctionne en transcrivant avec une carte. 

Exemple :

if([site (code )]='LH1',47.3161482)

Merci beaucoup pour l'aide. Je vais faire un récap pour la communauté si cela fonctionne. 

Bien cordialement,

Antoine

AntoineADS
Contributor II
Contributor II
Author

Bonjour, 

Alors ça fonctionne en passant par une formule de séparation. J'ai donc constitué une formule dans la section longitude et une autre formule dans la section latitude. 

C'est assez long et moins pratique qu'en faisant une table. Si vous avez une organisation qui ne vous permet pas de toucher à vos tables, il est préférable de créer des formules  pour éviter d'impacter l'organisation. 

Voici un exemple pour la localisation (coordonnées au hasard)  :

Longitude : if( [ma table(mon champs)] = 'LH1',49.235145, if([ma table(mon champ)] ='DG1',47.2541556))

Latitude : if( [ma table(mon champs)] = 'LH1',0.235145, if([ma table(mon champ)] ='DG1',0.2541556))

Voilà encore merci, en demandant des fois ça nous oriente vers le bon chemin.

Bonne continuation,

Antoine 

 

View solution in original post