PowerPivot accélère la réponse — même quand la question est mauvaise

PowerPivot arrive avec Excel 2010 et la promesse me plaît : une personne qui connaît les opérations peut tester une question sans attendre qu’une demande traverse toute la file BI. La nouveauté n’est pas seulement un graphique plus joli. Le moteur VertiPaq charge les colonnes en mémoire, les compresse et calcule rapidement des agrégations sur beaucoup plus de lignes qu’une feuille Excel ordinaire.

L’utilisateur importe des tables depuis SQL Server, Access, un fichier ou un flux, définit leurs relations, puis écrit des mesures en DAX. Excel présente ensuite le modèle dans un tableau croisé. Le trajet est court, mais chaque étape peut changer le chiffre.

Une relation incorrecte multiplie silencieusement les ventes

Imaginons trois tables :

  • Vente(NoVente, Date, Client, Montant);
  • LigneVente(NoVente, Produit, Quantite);
  • Client(NoClient, Region).

Pour obtenir les ventes par région, Vente.Client doit pointer vers une ligne unique de Client. Si la table Client contient deux versions du même client et qu’on les relie toutes les deux, chaque vente peut être comptée deux fois. Le tableau reste valide techniquement; son total est faux.

Une mesure explicite comme Ventes := SUM(Vente[Montant]) réagit au contexte de filtre du tableau croisé. Ce contexte est puissant, mais moins intuitif qu’une formule cellule par cellule. Ajouter la région, l’année ou un segment modifie les lignes visibles par la mesure. Je vérifierais toujours quatre nombres : total source, nombre de lignes, nombre de clés distinctes et total après chaque jointure.

Le mot ventes pose un autre problème. Le système de commandes peut stocker le montant accepté, la finance le montant facturé et le grand livre le montant comptabilisé. Les trois sont légitimes. Un modèle utile nomme donc ses mesures précisément : commandes nettes, facturation hors taxes, revenus comptabilisés.

Vitesse d’exploration, contrôle de publication

La BI classique construit un entrepôt, nettoie les dimensions, historise les changements et publie des indicateurs certifiés. C’est plus lent parce que la définition et la qualité sont traitées en amont. PowerPivot déplace une partie de ce travail vers l’analyste. C’est excellent pour explorer; c’est risqué quand le classeur devient sans avertissement la source officielle du comité de direction.

Je séparerais trois états :

  1. personnel : hypothèse locale, sources et limites visibles;
  2. partagé : modèle revu, propriétaire identifié, rafraîchissement surveillé;
  3. certifié : définitions convenues, rapprochement avec la source officielle et contrôle des accès.

Le rafraîchissement compte autant que le calcul. Un classeur qui affiche « données d’hier » après un échec discret peut guider une mauvaise décision. Les identifiants de connexion ne devraient pas être enregistrés dans le fichier en clair. Si le modèle rassemble salaires et ventes, SharePoint doit aussi empêcher une diffusion plus large que les systèmes sources.

La compression en colonnes fonctionne très bien sur des valeurs répétées. Une colonne de textes presque uniques consomme davantage de mémoire; importer vingt colonnes inutiles augmente le fichier et ralentit le rafraîchissement. Je sélectionnerais les colonnes nécessaires, filtrerais l’historique et laisserais les transformations lourdes à la source lorsque c’est possible.

Mon test avant de partager un modèle serait simple : refaire à la main un petit mois, expliquer chaque relation et rapprocher le total avec le système comptable. Le libre-service donne une réponse rapidement. La responsabilité de prouver ce que cette réponse mesure vient avec.