Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
j'ai vu une question similaire ici : Chargement partiel et store ancienne datas mais cela ne répond que partiellement à mon problème.
Nous travaillons avec un ERP en ligne, je m'y connecte dans qlikview grâce à un connecteur. Or le temps de chargement des données est extrêmement long (30-45min) bien que je ne charge pas tant de données que cela (et de fait, si je copie toutes mes données dans un fichier excel et que je charge depuis l'excel, le temps de chargement est de 2-3 minutes). Pour raccourcir le délai de chargement, je me dis que toutes les données passées (de J-1 au début) n'ont pas besoin d'être rechargées. y a-t-il un moyen pour que "le logiciel reconnaisse" lors du chargement que la dernière fois qu'il a téléchargé c'était il y a 3 jours par exemple et donc qu'il n'a besoin de rajouter que les 3 derniers jours en question ?
Merci,
Delphine
Bonjour Delphine,
Une bonne pratique dans Qlik est de mettre en place du "multi couche" au niveau de tes applications. C'est à dire d'avoir plusieurs qvw qui remplisse chacun un rôle spécifique.
L'enchainement de base étant :
Extraction : load et store de tes données sources (ERP dans ton cas) dans des QVD
Modélisation : Création du modèle en étoile dans des QVD à partir des QVD déjà extrait
Restitution : Application contenant le design
Dans ton cas, c'est la phase d'extraction qui prend du temps. Donc en ciblant les tables les plus longues, tu pourras mettre en place un chargement incrémental et donc partiel des données de ton ERP.
Ma réponse est très synthétique et fais appelle à de nombreuses notions je sais ... Mais c'est je pense la piste à suivre dans ton cas.
Bonjour Delphine,
Une bonne pratique dans Qlik est de mettre en place du "multi couche" au niveau de tes applications. C'est à dire d'avoir plusieurs qvw qui remplisse chacun un rôle spécifique.
L'enchainement de base étant :
Extraction : load et store de tes données sources (ERP dans ton cas) dans des QVD
Modélisation : Création du modèle en étoile dans des QVD à partir des QVD déjà extrait
Restitution : Application contenant le design
Dans ton cas, c'est la phase d'extraction qui prend du temps. Donc en ciblant les tables les plus longues, tu pourras mettre en place un chargement incrémental et donc partiel des données de ton ERP.
Ma réponse est très synthétique et fais appelle à de nombreuses notions je sais ... Mais c'est je pense la piste à suivre dans ton cas.
Bonsoir Christophe,
Merci pour ta réponse. J'ai déjà utilisé Qlikview avec Sage dans le passé, et c'était beaucoup plus simple qu'avec l'ERP en ligne
Extraction : load et store de tes données sources (ERP dans ton cas) dans des QVD
J'ai déjà vu l'histoire du stockage dans des QVD, mais je n'arrive pas à le faire, à chaque fois j'ai un message d'erreur ou syntaxe incorrecte, ou fichier introuvable, ou je ne sais plus très bien quoi. De fait c'est quelque chose dont je vais avoir besoin car je suis sur PC et mon équipe sur Mac (pas de Qlikview, il faut passer par QlikSense Cloud qui demande des QVD).
-> cette extraction se fait-elle dans un fichier qlikview différent de celui dont je me servirai pour mes tableaux d'analyses ?
Modélisation : Création du modèle en étoile dans des QVD à partir des QVD déjà extrait
-> je ne comprends pas cette étape : je crée un nouveau QVD à partir des données sources stockées, mais je n'utilise toujours pas les données pour analyse ?
Restitution : Application contenant le design
-> le design, ce sont les analyses que je ferai une fois toutes les données bien rassemblées ?
en ciblant les tables les plus longues, tu pourras mettre en place un chargement incrémental et donc partiel des données de ton ERP
-> comment met-on en place un chargement incrémental ?
Merci beaucoup !
Delphine
Le chargement incrémental va très certainement résoudre ton problème de performance, mais afin de définir la bonne façon de l’implémenter
il faut savoir si les données sources sont uniquement ajoutées, ajoutées et modifiées, ou ajoutées supprimées et supprimées
voici un lien (en anglai) qui explique les différents cas et comment les implémenter
QlikView Tutorials | QlikView Scripting | Incremental Loads in Qlikview - YouTube
Bonjour Sébastien,
merci pour la vidéo, hyper clair.
J'ai un léger problème cependant : quand on charge les données sources, on a un WHERE qui permet justement le chargement incrémental. J'ai constaté que je ne peux pas faire de WHERE quand je me connecte à l'ERP en ligne.
Voici un bout du script :
CUSTOM CONNECT TO
"Provider=QvEOConnector.exe;ExactOnlineUrl=https://start.exactonline.fr;...;";
Table_TIERS:
LOAD Accounts_Code as TIERS_code,
Accounts_CountryName as TIERS_pays,
Accounts_Name as TIERS_nom;
SQL SELECT Accounts_Code,
Accounts_CountryName,
Accounts_Name
FROM Accounts;
si je rajoute un WHERE, j'ai un message d'erreur :"QVX_SYNTAX_ERROR Invalid query" Y a-t-il un moyen de contourner ça ?
Merci,
Delphine
CUSTOM CONNECT TO "Provider=QvEOConnector.exe;ExactOnlineUrl=https://start.exactonline.fr;
peux-tu me montrer le code avec le WHERE, pour voir comment tu l’as écrit
Bonjour Sébastien,
ça donne :
j'ai essayé avec != et # sans succès, et même simplement avec = pour voir si ça prenait, mais non.
Delphine
Delphine Walter a écrit:
Bonsoir Christophe,
Merci pour ta réponse. J'ai déjà utilisé Qlikview avec Sage dans le passé, et c'était beaucoup plus simple qu'avec l'ERP en ligne
Extraction : load et store de tes données sources (ERP dans ton cas) dans des QVD
J'ai déjà vu l'histoire du stockage dans des QVD, mais je n'arrive pas à le faire, à chaque fois j'ai un message d'erreur ou syntaxe incorrecte, ou fichier introuvable, ou je ne sais plus très bien quoi. De fait c'est quelque chose dont je vais avoir besoin car je suis sur PC et mon équipe sur Mac (pas de Qlikview, il faut passer par QlikSense Cloud qui demande des QVD).
-> cette extraction se fait-elle dans un fichier qlikview différent de celui dont je me servirai pour mes tableaux d'analyses ?
Oui c'est une application à part entière mais qui ne contient que du script. Quelle erreur as tu pour générer les QVD ?
La syntaxe de base étant :
STORE NomTable into CheminSurTonDisque\NomTable.Qvd(qvd);
Modélisation : Création du modèle en étoile dans des QVD à partir des QVD déjà extrait
-> je ne comprends pas cette étape : je crée un nouveau QVD à partir des données sources stockées, mais je n'utilise toujours pas les données pour analyse ?
Tout à fait !
Restitution : Application contenant le design
-> le design, ce sont les analyses que je ferai une fois toutes les données bien rassemblées ?
Oui
en ciblant les tables les plus longues, tu pourras mettre en place un chargement incrémental et donc partiel des données de ton ERP
Pour le chargement incrémental, tu as besoin d'un champ clé (un id ou une date). Je n'en vois pas dans ta requête.
Bonsoir Christophe,
alors pour les qvd j'ai trouvé : il ne faut pas justement que je précise le chemin d'accès, mais directement nom.qvd (qvd). Le message était que le fichier était introuvable.
j'ai un champ clé - dans mon exemple, le code client, qui est doublé d'un champs ID à 16 caractères dans la table source, ainsi que les champs date (création, dernière modification, etc.), donc je devrais pouvoir le faire (je n'ai pas encore testé, j'en suis à faire des qvd propres, ce n'est pas gagné, j'ai d'autres problèmes de formats de données censées être identiques qui ne le sont pas et du coup la fonction join ne fonctionne pas).
Autre question pour la structure en étoile dont tu parles :
- je charge une 1ère fois mes données brutes dans des qvd (là j'ai fait un qvd par table source)
- je crée des nouveaux qvd pour réarranger les données sources à ma façon : quand j'en suis là, est-ce que je dois d'abord à la main recharger les données sources (en incrémental donc) dans le 1er fichier qlikview ou bien y a-t-il une façon de le faire automatiquement dans le 2e fichier qlikview via une instruction dans le script ?
Merci !
Delphine
Bonjour,
Si tes données sources changent et que tu les veux à jour, oui il faut recharger manuellement la première application, puis celle de la modélisation.
Pour recharger en ligne de commande tu peux utiliser un fichier .bat comme cet exemple (non testé)
"C:\Program Files\QlikView\Qv.exe" C:\Users\TonUser\Documents\Extraction.qvw
"C:\Program Files\QlikView\Qv.exe" C:\Users\TonUser\Documents\Modelisation.qvw