Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Contrôle de cohérence de données base / QVD

Bonjour,

Dans la cadre de la mise en place de Qliview dans l'entreprise,  je désir contrôler que les données chargées dans les QVD sont bien identique avec les données de mes bases de données relationnelles (Oracle).

En effet, il viendra un moment ou le système d'information décisionnel sera remis à jour en dehors des processus habituels. Cette mise à jour créera un décalage de restitution de données entre les différents outils décisionnels.

Bien sûr, tout est mis en place pour éviter ce type d'effet de bord, cependant un contrôle de cohérence de données est indispensable. Pour ce faire, nous avons un outil de contrôle de la qualité de données dans notre SI. Le fonctionnement de cet outil étant basé sur l’interrogation en  langage SQL de base de données, j’aimerai demander à Qlikview de m’écrire le résultat d’une requête dans une table d‘une  base de données.

Exemple : Interroger le QVD vente avec la question suivante : donne-moi le chiffre d’affaire (CA) par magasin et par jour sur les 3 derniers mois.

Une idée ? une méthode à suivre ?

Merci,

2 Replies
Not applicable
Author

Antoine,

On ne peut interroger comme ça un QVD. Il faut le charger dans QlikView et ensuite utiliser les données qui étaient dedans. Comme tout fichier ou base, il est possible dans la commande LOAD d'y adjoindre un WHERE afin de ne charger que quelques données (quelques mois, quelques régions etc.).

Il existe néanmoins des outils qui permettent de visualiser ce qu'il y a dans un QVD, voir par exemple:  http://community.qlik.com/docs/DOC-3401

Souvent, on teste la date du QVD afin de de le regénérer ou pas, histoire que ce QVD soit de la même date que la base et de limiter les requêtes à celle-ci. Il y a plein de discussions à ce sujet: Si la date max du QVD = max date de SQL, on considère que c'est OK.


Pour tester les données elles-mêmes, ça sera forcément beaucoup plus long. Je tenterais la façon suivante :

- charger les données SQL dans une table XX

- charger le QVD dans une table temp, sûrement utiliser INNER KEEP (XXX) pour avoir le même périmètre

- mettre les données de cette table dans la table XX par un concatenate, mais en inversant les données (du style Ventes*(-1) as Ventes )

- voir si le total = 0 dans l'interface ou en alimentant une 3e table via unSUM,  GROUP BY et un WHERE en ne conservant que les lignes où les Ventes sont > epsilon (un tout petit nombre vu les arrondis qu'il peut y avoir, cf blog de HIC : http://community.qlik.com/blogs/qlikviewdesignblog/2013/12/17/rounding-errors

Fabrice

Not applicable
Author

Merci de votre réponse. C'est notre ordonnanceur interne qui aura la mission de charger les données en fonction de la base de données. Comme la confiance n'exclut pas le contrôle, je vais regarder du coté des instructions "INNER KEEP" pour écrire le résultat d’un LOAD dans une table de la base données. Notre outil de contrôle se chargera du comparatif des données.

Merci,