PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Comment le calcul est-il effectué ?
  • Progression du calcul
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Calcule ou recalcule entièrement un champ Tableau croisé dynamique. Attention : cette opération peut être relativement longue.
Exemple
SI OuiNon("Voulez-vous recalculer entièrement le Tableau croisé dynamique?") ALORS
TCDCalculeTout(TCD_Ventes)
FIN
Syntaxe
TCDCalculeTout(<Champ Tableau croisé dynamique>)
<Champ Tableau croisé dynamique> : Nom de champ
Nom du champ Tableau croisé dynamique à calculer ou recalculer.
Remarques

Comment le calcul est-il effectué ?

Le calcul est effectué en parcourant tous les enregistrements nécessaires. Ce calcul peut être relativement long selon la taille de la base de données. Par exemple, un calcul sur une base d'un million d'enregistrements peut prendre quelques minutes.
  • Le contenu du champ Tableau croisé dynamique doit être recalculé entièrement :
    • Lors de l'ajout de nouvelles rubriques à afficher.
    • Lors de la modification des fonctions de filtrage.
    • Lors de la modification des données source du calcul.
  • Le contenu du champ Tableau croisé dynamique n'a pas besoin d'être recalculé entièrement :
    • Lors de l'utilisation d'un filtre sur une dimension déjà calculée.
    • Lors du changement de dimension.
    • Lors du déroulement ou de l'enroulement d'une dimension (par exemple, visualiser les trimestres au lieu des années).

Progression du calcul

  • Pendant le calcul du champ Tableau croisé dynamique, une jauge de progression est affichée.
  • Versions 20 et supérieures
    L'utilisateur a la possibilité d'annuler le calcul via un bouton "Annuler".
    Pour savoir si le calcul a été effectué jusqu'au bout, utilisez la variable ErreurDétectée.
    Exemple :
    PROCÉDURE Chargement_TCD()
     
    TCDCalculeTout(TCD_Statistiques)
    SI ErreurDétectée = Vrai ALORS
    SELON Dialogue("Voulez-vous annuler le traitement en cours ?")
    // Annuler
    CAS 1
    Ferme()
    // Continuer
    CAS 0
    Chargement_TCD()
    FIN
    FIN
    Nouveauté 20
    L'utilisateur a la possibilité d'annuler le calcul via un bouton "Annuler".
    Pour savoir si le calcul a été effectué jusqu'au bout, utilisez la variable ErreurDétectée.
    Exemple :
    PROCÉDURE Chargement_TCD()
     
    TCDCalculeTout(TCD_Statistiques)
    SI ErreurDétectée = Vrai ALORS
    SELON Dialogue("Voulez-vous annuler le traitement en cours ?")
    // Annuler
    CAS 1
    Ferme()
    // Continuer
    CAS 0
    Chargement_TCD()
    FIN
    FIN
    L'utilisateur a la possibilité d'annuler le calcul via un bouton "Annuler".
    Pour savoir si le calcul a été effectué jusqu'au bout, utilisez la variable ErreurDétectée.
    Exemple :
    PROCÉDURE Chargement_TCD()
     
    TCDCalculeTout(TCD_Statistiques)
    SI ErreurDétectée = Vrai ALORS
    SELON Dialogue("Voulez-vous annuler le traitement en cours ?")
    // Annuler
    CAS 1
    Ferme()
    // Continuer
    CAS 0
    Chargement_TCD()
    FIN
    FIN
Liste des exemples associés :
WD TableauCroiséDynamique Exemples didactiques (WINDEV) : WD TableauCroiséDynamique
[ + ] Cet exemple illustre l'utilisation du champ Tableau croisé dynamique.

Ce champ tableau croisé dynamique permet d'afficher des statistiques dynamiques en effectuant des regroupements.
Ces statistiques sont calculées à partir de la base de données.
Composante : wd250obj.dll
Version minimum requise
  • Version 18
Documentation également disponible pour…
Commentaires
Video TcdCalculetout
https://youtu.be/HkwMSiN8J8Q
https://windevdesenvolvimento.blogspot.com/2019/09/dicas-2309-windev-webdev-mobile-pivo-16.html
// btn_calculate
QRY_PIVO_DUPLICATA.parametro_data_inicial=EDT_DATA_INICIAL
QRY_PIVO_DUPLICATA.parametro_data_final=EDT_DATA_FINAL
HExecuteQuery(QRY_PIVO_DUPLICATA,hQueryDefault)
// COLOCADO HEXECUTEQUERY -> 19 09 FINAL
PVTCalculateAll(PVT_PIVO_DUPLICATA_CLIENTE)
//sql
SELECT DISTINCT
duplicata_receber.clienteid,
cliente.nome,
duplicata_receber.data_vencimento,
duplicata_receber.valor_titulo
FROM
duplicata_receber
INNER JOIN
cliente ON cliente.clienteid=duplicata_receber.clienteid
WHERE
duplicata_receber.data_vencimento BETWEEN {parametro_data_inicial} AND {parametro_data_final}
amarildo
20 sep. 2019