Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
Je souhaite créer des QVD dis "Normalisé" ce que j'entends par la :
- Créer un QVD à partir d'une base qui rassemble des données de plusieurs localisation différente au sein de la même BDD
Je prends un exemple car je pense que celui ci vous permettra de mieux comprendre la problématique :
J'ai une base Oracle sur un logiciel x, celui ci rassemble plusieurs schéma qui rassemble une et unique table
//enfin pas sur de cette information pour le moment car je n'ai pas moyen de la vérifié.
Ce que j'aimerai savoir c'est comment rassembler en un seul QVD des informations se trouvant dans des localisations différentes dans ma BDD Oracle.
C'est à dire ex : schemaC2060.AGD_DEMANDE_PLANIF table AGD_DEMANDE_PLANIF
schemac2060.IDE_Adresse table schemac2060.IDE_Adresse
J'ai pu voir dans certaine application la réalisation d'un left join dans le script.
1/ Ce que j'aimerai obtenir c'est une explication claire sur l'utilisation et la manipulation de cette action, un avis également sur votre opinion s'il existe un autre moyen ?
Par ailleurs, il me vient deux questions complémentaire :
Je demande vraiment des explications claire courte et précise svp ?
Dans l'attente de vous lire je vous souhaite une excellente soirée !
Bonsoir Axel,
Ce que j'aimerai savoir c'est comment rassembler en un seul QVD des informations se trouvant dans des localisations différentes dans ma BDD Oracle.
C'est à dire ex : schemaC2060.AGD_DEMANDE_PLANIF table AGD_DEMANDE_PLANIF
schemac2060.IDE_Adresse table schemac2060.IDE_Adresse
Alors, tu aurais du peut etre donner plus de détails sur ta demande ou mettre un exemple de structure des tables que tu veux rassembler dans un QVD.
mais d'aprés ce que j'ai compri, c'est que les tables que tu veux mettre sur un seul entrepot de données (QVD), elles ont une structure differente.
dans ce cas, tu devra utiliser une Concatenation (CONCATENATE) pour rassembler tes tables, suivi d'une instruction STORE pour stocker les TOUT dans un QVD.
EXEMPLE:
//chaine de connexion vers ta bas
TABLE_FINALE:
LOAD
.
.
FROM TABLE1
CONCATENATE
TABLE2:
LOAD
.
.
FROM TABLE2
//tu met autant de concatenation que de tables chargés (sans rentrer dans les détails de syntaxe)
Store TABLE_FINALE Into [PATH\TABLE_FINALE .qvd];
Maintenant, tu a aussi ecrit que : le non concatenate me pertube
Par défaut, sur Qlik, quand tu charge 2 tables successivement, qui ont la meme structure, Qlik les concatene automatiquement
donc on utilise le non concatenate pour forcer Qlik a ne pas concatener 2 tables qui ont la meme structure (c'est un peule contraire de ce que tu veux faire toi).
Enfin, tu a écrit: le drop table j'ai beau lire et relire des choses sur ce sujet j'ai vraiment beaucoup de mal à l'intégrer
le besoin de ta première application, c'est un besoin ETL plus qu'autre chose (dataviz), donc a la fin du traitement tu devra utiliser l'instruction DROP TABLE pour effacer la table chargée du modele et ainsi avoir une application qui ne consommera rien en terme de disque une fois fermée.
Bonsoir Axel,
Ce que j'aimerai savoir c'est comment rassembler en un seul QVD des informations se trouvant dans des localisations différentes dans ma BDD Oracle.
C'est à dire ex : schemaC2060.AGD_DEMANDE_PLANIF table AGD_DEMANDE_PLANIF
schemac2060.IDE_Adresse table schemac2060.IDE_Adresse
Alors, tu aurais du peut etre donner plus de détails sur ta demande ou mettre un exemple de structure des tables que tu veux rassembler dans un QVD.
mais d'aprés ce que j'ai compri, c'est que les tables que tu veux mettre sur un seul entrepot de données (QVD), elles ont une structure differente.
dans ce cas, tu devra utiliser une Concatenation (CONCATENATE) pour rassembler tes tables, suivi d'une instruction STORE pour stocker les TOUT dans un QVD.
EXEMPLE:
//chaine de connexion vers ta bas
TABLE_FINALE:
LOAD
.
.
FROM TABLE1
CONCATENATE
TABLE2:
LOAD
.
.
FROM TABLE2
//tu met autant de concatenation que de tables chargés (sans rentrer dans les détails de syntaxe)
Store TABLE_FINALE Into [PATH\TABLE_FINALE .qvd];
Maintenant, tu a aussi ecrit que : le non concatenate me pertube
Par défaut, sur Qlik, quand tu charge 2 tables successivement, qui ont la meme structure, Qlik les concatene automatiquement
donc on utilise le non concatenate pour forcer Qlik a ne pas concatener 2 tables qui ont la meme structure (c'est un peule contraire de ce que tu veux faire toi).
Enfin, tu a écrit: le drop table j'ai beau lire et relire des choses sur ce sujet j'ai vraiment beaucoup de mal à l'intégrer
le besoin de ta première application, c'est un besoin ETL plus qu'autre chose (dataviz), donc a la fin du traitement tu devra utiliser l'instruction DROP TABLE pour effacer la table chargée du modele et ainsi avoir une application qui ne consommera rien en terme de disque une fois fermée.
Bonjour Youssef, je te remercie pour ta réactivité et de tes réponses précises !
Cependant il ne me reste qu'une question par rapport à ton affirmation :
Sur le Drop comment savoir quel donnée il supprimera ?
Pourrais tu me partager un exemple stp pour ainsi mieux comprendre son mécanisme car avec le guide d'utilisation c'est comment dire pas très explicite ..
En te remerciant beaucoup pour ton aide je te souhaite une excellente journée !
Bonjour Axel,
voici les possibilités de l'instruction DROP :
tu peux supprimer une table de ton modèle de données (ou simplement une table chargée précédemment dans le script)
exemple:
drop table tablename
//tablename c'est le nom d'une table que tu a chargé précédemment.
Aussi, tu peux supprimer un champ d'une table précédemment chargée.
exemple:
Drop field fieldname from tablename
//fieldname c'est le nom d'un champ d'une table (tablename) précédemment chargée
Bonjour à Tous et a toi Youssef,
Afin de pratiquer j'ai voulu tester la concatenation des champs avec deux tables différentes ;
Voici mon code, bien entendu j'ai un message d'erreur qui m'indique le message suivant :
Impossible d'ouvrir le fichier'D:\Qlikview\DEVELOPPEMENT\0 TEST APP SUR INSTRUCTION\glpi_entities' Le fichier spécifié est introuvable.
Concatenate
glpi_entities:
load
id,
name
from glpi_entities
Pour prendre mon exemple je suis allé taper dans une base que nous possédons de notre logiciel GLPI
Voici mon script :
SET vQVD_GLPI='..\entrepot\0_TEST\';
glpi_tickets:
load
id,
entities_id,
urgency
from glpi_tickets;
Concatenate
glpi_entities:
load
id,
name
from glpi_entities;
STORE glpi_tickets into $(vQVD_GLPI).QVD (QVD);
Par ailleurs il me dis que les tables selectionner sont introuvable, est ce psk je n'ai pas crée de QVD lié au table chargé ?
Mes questions serait de savoir :
Comment je peux faire cela ?
Est il possible de réaliser cela sans charger le QVD de chaque table ?
Bonjour,
tu travaille sur Qlikview ou Qliksense ?
a priori, tu a un probleme sur tes FROM..
SET vQVD_GLPI='..\entrepot\0_TEST\';
glpi_tickets:
load
.
from glpi_tickets; ==> glpi_tickets c'est quoi ?
Concatenate
glpi_entities: ==>
load
.
from glpi_entities; ==> glpi_entities c'est quoi ?
STORE glpi_tickets into $(vQVD_GLPI).QVD (QVD); ==> incorrect
la derniere ligne est incorrecte:
STORE glpi_tickets into '..\entrepot\0_TEST\'.QVD (QVD);
tu devrait avoir ça:
STORE glpi_tickets into '..\entrepot\0_TEST\the_name_of_your_qvd.QVD' (QVD);
Il me crée des messages d'erreur en signifiant que chaque table indiqué n'existe pas et enfin lors de ma création de mon QVD avec STORE il m'indique que la table est introuvable ...
Peux être psk il a besoin d'avoir le support d'un QVD pour la crée je comprends pas trop la manipulation..
glpi_tickets;
glpi_entities;
Ce sont les noms des tables sur la BDD
comment tu est connecté a ta base ? OLEDB ODBC ?
est ce que tu arrive a voir les tables de ta base en mode assistant graphique ?
Re Youssef merci pour ta réactivité je suis connecté en ODBC
Et j'ai crée aucun QVD avec la base je l'ai juste connecté.
Maintenant j'arrive à obtenir les noms des tables grâce à une applications que j'ai déjà crée.
Mais la j'aimerai m'entraîner à joindre des champs de deux tables différentes pour un besoin futur qu'on risquera sûrement de me demander.
Par ailleurs que veux tu dire par mode assistant graphique : j'ai était formé sur QW par un intégrateur il ne m'a pas parlé de ça.
N'hésite pas à me poser plus de question...
Voir la suite de mes question sur cette discussion :