Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai un fichier QVD de 1,5 Go contenant des données recueillies sur 3 mois et je souhaite créer des tableaux et des graphiques avec à chaque fois un group by différent.
Lorsque j'utilise ce genre d'expression sur un gros volume de données Qlikview plante pendant le chargement:
- count(Aggr(count( {<Jalon_Couvert={"1"}>} Ordre),Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Technique_Detection,Source))
-count(TOTAL Aggr(count(Ordre),Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire))
-count(Aggr(count( {<Jalon_Couvert={"1"}>} Ordre),Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire))
-count(TOTAL <Type_Horaire> Aggr(count(Ordre),Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire))
et lorsque j'ai voulu déplacer toutes ces formules dans le code, j'ai obtenu des données incohérentes et erronées comme si il chargeait uniquement les données du dernier load
Taux_de_couverture_par_activité:
LOAD
count(Ordre) as nombre_de_jalons_couverts_par_activité,Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Code_Activite
RESIDENT TablePrincipale
where Jalon_Couvert=1
group by Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Code_Activite;
Total_par_activité:
Load
count(Ordre) as TOTAL_JALONS_PAR_ACTIVITE,Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Code_Activite
Resident TablePrincipale
group by Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Code_Activite;
Taux_de_couverture_par_technique_detection:
LOAD
count(Ordre) as nombre_de_jalons_couverts_par_technique_detection,Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Technique_Detection
RESIDENT TablePrincipale
where Jalon_Couvert=1
group by Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Technique_Detection;
Taux_de_couverture_par_technique_detection_et_source:
LOAD
count(Ordre) as nombre_de_jalons_couverts_par_technique_detection_et_source,Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Technique_Detection,Source
RESIDENT TablePrincipale
where Jalon_Couvert=1
group by Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Technique_Detection,Source;
NB: j'ai pas de serveur Qlikview et j'exécute les scripts sur ma machine.
Des idées pour contourner ce genre de problème ?
Bonjour,
Je te conseillerai de créer un niveau supplémentaire dans ton architecture de QVD. En partant de ton QVD Table principale, tu crées d'autres QVD avec ces données agrégées que tu sauvegardes avec la clause STORE (un QVD pour un group by). Autrement dit, tu te construis un générateur de QVD.
Cela devrait grandement améliorer la performance de ton application de travail.
Taux_de_couverture_par_activité:
LOAD
count(Ordre) as nombre_de_jalons_couverts_par_activité,Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Code_Activite
RESIDENT TablePrincipale
where Jalon_Couvert=1
group by Date_Circulation,Numero_Sillon,CR_CI_CH,Type_Horaire,Code_Activite;
// Sauvegarde de la table
STORE Taux_de_couverture_par_activité INTO 'lib://Folder/Taux_de_couverture_par_activité.qvd';
// Suppression de la table
DROP TABLE Taux_de_couverture_par_activité;
cordialement