Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
xavier_bertret
Contributor II
Contributor II

Exporter 2 variables dans un fichier externe

Bonjour.

Je suis utilisateur de QlikView client lourd et je ne possède pas la solution QlikSense.

Je souhaite mettre en place une sorte " d'audimat " sur un de mes fichiers QVW. L'idée étant de savoir combien de fois par jour le fichier est ouvert pas les utilisateurs.

La solution me semble facile dans le cas d'un rechargement des données à l'ouverture. Malheureusement, parce que le fichier est volumineux et se trouve sur un serveur informatique commun,, j’interdis le rechargement aux utilisateurs.

J'ai donc pensé à une autre solution mais je n'ai pas les connaissances suffisamment pointues.

J'ai créé 2 variables v_osuser et v_date.

A l'ouverture du fichier je mets à jour la première avec la fonction osuser() et la seconde avec la date et l'heure. Ça je sais faire ;o)

A partir de là je souhaiterais exporter ces 2 variables dans un fichier externe ( txt, csv ou excel ) pour pouvoir ensuite les récupérer et les traiter dans un fichier QVW.

Je ne vois qu'une solution VBScript. J'ai passé plusieurs heures à regarder sur Internet mais je n'ai rien trouver qui corresponde vraiment à mon besoin. Tout ce que j'ai trouvé me parait bien trop complexe par rapport à mon " simple " besoin.

Si quelqu'un à une idée je suis preneur et je l'en remercie par avance.

10 Replies
ogautier62
Specialist II
Specialist II

Bonjour,

jette un coup d'oeil à la fonction STORE dans le script,

cela devrait répondre à ce que tu souhaites

cdt

xavier_bertret
Contributor II
Contributor II
Author

Bonjour Olivier.

Merci pour ton retour.

Malheureusement la fonction store nécessite le rechargement complet du script et comme je l'ai expliqué je ne le permet pas aux utilisateurs.

C'est pour cela, je pense, que seule l'utilisation d'un VBScript peut répondre à mon besoin.

Bien cordialement

ogautier62
Specialist II
Specialist II

en fait Xavier pourquoi ne pas exploiter directement les stats de connexion faites par Qlikview

ce n'est pas très documenté mais assez simple tu auras toutes les connexions user/appli/durée sans developper quoique ce soit dans tes interfaces

cdt

ogautier62
Specialist II
Specialist II

en fait je raconte des bêtises si c'est en desktop,

par contre dans ce cas on peut utiliser la mise à jour dynamique dans les actions :

Déclencheur à l'ouverture du document,

action mise à jour dynamique avec :

insert into test(app,user,connect) values($(=DocumentName()),$(=OSuser()),$(=now()));

la table se met à jour et est sauvegardée à la sortie :

xavier_bertret
Contributor II
Contributor II
Author

Merci Olivier, je vais regarder ça de près.

Par contre je ne suis pas sur de comprendre le code. Tu le mets dans le Statement ?

A quoi faire référence "test", un fichier externe préalablement créé ? Sous quel format ?

Merci encore.

ogautier62
Specialist II
Specialist II

test est une nouvelle table à créer (1 x à vide), c'est une table qv

avec les 3 champs ci-dessus

le code est dans l'action : mise à jour dynamique/statement effectivement

xavier_bertret
Contributor II
Contributor II
Author

Merci, c'est très clair.

Je viens de tester mais malheureusement sans succès. J'ai peur que cela vienne du client desktop.

A toutes fins utiles je joints mon qvw dans un post à part. J'ai mis en commentaire la création de table dans le script mais je l'ai bien créé une première fois.

J'ai peut être commis une erreur dans la traduction, mais j'avoue humblement ne pas m'en rendre compte.

Bien cordialement.

xavier_bertret
Contributor II
Contributor II
Author

Je ne peux rattacher mon qvw.

Voici donc le corde que j'ai rentré dans mon script une fois avant de le passer en commentaire :

STATS_OUVERTURE:

LOAD * INLINE [

    NNI_UTILISATEUR, DATE_OUVERTURE

   ];

STORE STATS_OUVERTURE into [STATS_OUVERTURE.qvd];

Et voici le code que j'ai rentré dans Paramètres->Propriétés du Document->Déclencheurs->A l'ouverture->Mise à jour dynamique

insert into STATS_OUVERTURE(NNI_UTILISATEUR, DATE_OUVERTURE) values($(=OSuser()),$(=now()))