Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
e_bordart
Contributor
Contributor

Analyse de fréquence avec des chaînes identité

Bonjour,

Bien qu'ayant eu droit à une formation institutionnelle sur QlikView, en voyant la quantité et la qualité des informations mises à disposition par la communauté, je me considère comme beginner...

J'ai pu développer un outil pour mes besoins d'indicateurs qui vient remplacer un ensemble de requêtes Business Objects, mais là j'essaie de monter un outil permettant de démontrer l'utilité d'utiliser un nombre précis de caractères pour effectuer des recherches dans notre base d'identités.

L'exemple est simple, j'ai une table contenant le prénom PRN et un identifiant unique ID pour chaque personne.

Plusieurs personnes peuvent avoir le même prénom éventuellement mais ont un identifiant différent.

Je veux démontrer la longueur optimale du nombre de caractères à saisir dans le champ de recherche du prénom pour tomber le plus souvent possible sur une personne et une seule. Je cherche donc à calculer le cumul de chaines prénoms tronquées au nombre de caractère (MID(PRN,1,NBCAR) saisi via une variable NBCAR dans un curseur, qui ont individuellement pour résultat de recherche le même cumul d'identifiants (COUNT(DISTINCT ID).

Au final j'aimerai un tableau en histogrammes, avec en abscisse le nombre d'identifiants trouvés, et en ordonnée le nombre de chaînes de caractères distinctes coupées à la longueur définie par le curseur.

Bien entendu, je travaille sur des identités et donc la base sera plus conséquente (environ 800.000) et recoupera plusieurs "champs" :  le nom, le prénom, la date de naissance.

Aujourd'hui, je parviens à calculer par chaîne tronquée, le nombre d'identifiants trouvés, mais je cale pour passer à l'étape suivante.

J'ai essayé avec des set analysis mais je ne les maîtrise pas.

J'y suis parvenu en scriptant à l'import et en coupant les chaînes dans le script, et en calculant les cumuls dans le script, donc pas d'influence possible via ma variable.

Auriez-vous une idée ?

Merci

Eric

3 Replies
MarcoWedel

Salut,

maybe not quite what you were looking for, but maybe a start:

QlikCommunity_Thread_182246_Pic1.JPG

QlikCommunity_Thread_182246_Pic2.JPG

FOR Each vtable in 5,6

    tabPrenoms:

  LOAD RowNo() as ID,

      Name as PRN,

      AutoNumber(Name) as %PRN

  FROM [http://www.behindthename.com/top/list.php?region=france&year=2010&sort=&display=max] (html, unicode, embedded labels, table is @$(vtable), filters(Remove(Row, Pos(Top, 1))))

  While IterNo()<=Times;

NEXT vtable

tabSubPrenoms:

LOAD Distinct

    %PRN,

    Left(PRN,IterNo()) as SPRN,

    IterNo() as NBCAR

Resident tabPrenoms

While IterNo()<=Len(PRN);

Can you describe a bit more how the chart should look like?

merci

cordialement

Marco

MarcoWedel

maybe more like what you were looking for:

QlikCommunity_Thread_182246_Pic3.JPG

QlikCommunity_Thread_182246_Pic4.JPG

QlikCommunity_Thread_182246_Pic6.JPG

hope this helps

regards

Marco

e_bordart
Contributor
Contributor
Author

Dear Marco,

Thank you for your answers.

I've been able to draw my chart using different loads in the script.

But what I'd like to do is to use dynamically my names to show the impact of entering 1, 2 or more characters to do a search in the database.

See the .qvd attached. There's a part using the script, and a dynamic part.

Thanks for your attention. !