Rechercher dans ce blog

12 janvier 2015

Exploiter les sections analytiques de Dynamics Nav avec Power Query (Table.Pivot)

Depuis Dynamics Nav 2013, le stockage des dimensions et des sections analytiques a été optimisé : afin d'éviter la redondance et le sur-stockage, chaque combinaison différente de sections analytiques est maintenant stockée une et une seule fois. Pour rappel, le nombre de dimensions est virtuellement illimité.

Chaque combinaison unique est donc identifiée sous un "Dimension Set ID" (ID ensemble de dimensions) pointant vers les sections stockées de façon détaillée, en ligne, dans la table "Dimension Set Entry" (seuls les valeurs des axes principaux sont stockées sur les écritures).

Tout cela ne rend pas forcément facile l'exploitation des données sous Excel.. sauf à utiliser Power Query qui va nous permettre de transformer les sections analytiques stockées en ligne en autant de colonnes de façon très (très) simples.

Au final, nous aurons autant de colonnes que d'axes analytiques, comme si chaque section analytique était stockée dans une colonne dédiée (idéal pour filtrer et agréger par la suite bien évidement).

Pour réaliser cela, nous allons donc transformer les données avec l'opération "Colonne de tableau croisé dynamique" (Table.Pivot) afin d'éclater les lignes en colonnes : une colonne par axe différent avec les sections correspondantes en valeur (sans agrégation) :
Il restera ensuite à joindre le résultat avec la table d'écriture sur le champ "Dimension Set ID".

Ci-dessous un exemple de complet sur un jeu de données réduit (avec le fichier source complet en téléchargement, nécessite Excel 2013 + Power Query) :



N'hésitez à nous solliciter pour avoir de plus amples informations sur la suite Power BI (Power Pivot, Power Query, Power View, Power Map).