Fermer

    De quel département êtes-vous ?

    Vos informations générales

    Quel est votre objectif ?

    Quel est le nombre d'utilisateurs
    pour votre projet ?

    A quelle étape vous trouvez-vous actuellement ?

    Quel est le délais de mise en place que vous souhaitez ?

    Précédent

    Déclenchez le signal !
    Nous sommes les héros de Tableau Software, Microsoft Power BI et Alteryx ? Découvrez quelques unes de nos réalisations Let's rock ! Led Zeppelin et le basketball français en statistiques.

    Maîtrisez votre temps !
    Nous travaillons avec les outils Snowflake, Gathering Tools et Alteryx. Découvrez le retour de nos clientsOney Data et Keolis

    Votre futur vous attend !

    Découvrez notre Data Driven Journey et la solution Alteryx.

    Rassemblons vos forces !

    Découvrez notre Data Driven Journey et notre communauté. Renseignez-vous sur nos formation au Data-Universe.

    Drive your insights!

    Découvrez notre Communauté et nos réalisations Let's rock ! Led Zeppelin et la gestion d'une équipe de basketball en statistiques.

    Évoluez à l'infini et au-delà !

    Découvrez notre méthode exclusive : Data Driven Journey. Accédez à notre panel de formations.

    Article

    Les tables hybrides
    dans Power BI

    Rédigé par Benoit Distretti – Consultant BI Actinvision

    Vous êtes-vous déjà demandé comment avoir les données les plus fraîches à disposition sur vos Dashboards Power BI, et ce même en ayant une large volumétrie de données dans votre modèle ? Microsoft a présenté en décembre dernier une mise à jour très attendue au sein de la communauté : les tables hybrides ! Quels sont les avantages et à quoi servent-elles ? Je vais vous présenter cette fonctionnalité !

    Prérequis techniques

     

    Lorsque vous allez importer vos données dans Power BI, 2 types de connexion s’offrent à vous :

    Importer
    DirectQuery

    Importer des données

    Importer des données

    Cette méthode charge les données au sein de Power BI. La totalité du contenu des tables sélectionnées est importée dans le cache de l’application.
    Ce mode permet de charger des données provenant de plusieurs sources différentes. On peut ensuite gérer les jointures et / ou en créer pour celles non générées par l’auto-détection grâce à l’onglet « Modèle ».

    onglet modèle

    On peut ensuite utiliser différentes fonctions DAX, pour transformer les données et enrichir notre jeu de données fraichement acquis, sans risque d’impacter les performances !

    Direct Query

    direct query

    La méthode DirectQuery quant à elle, permet de se connecter en direct sur la base de données source. Aucune donnée ne va être importée dans l’application. Au lieu de cela, des requêtes vont être nécessaires pour remonter les informations souhaitées.
    Ce mode de connexion permet de travailler sur des données en quasi-temps réel, pour rafraichir les données il suffit de cliquer sur un visuel ou actualiser le rapport.
    Cependant, ce mode n’est pas compatible avec toutes les sources de données, et on ne peut en avoir qu’une seule dans le rapport. Les types de sources disponibles sont accessibles dans cette documentation Microsoft .
    Pour utiliser les tables hybrides, il est nécessaire d’utiliser une source de données compatible avec le mode DIrectQuery, dans cet article j’utiliserai une base de données Azure Database.

     

    Présentation de la fonctionnalité

     

    Vous l’aurez compris, l’avantage du mode de connexion en import est de travailler avec plusieurs sources simultanément et de transformer les données acquises. Le DirectQuery quant à lui nous permet de travailler / visualiser en quasi-temps réel. Les tables hybrides, elles, permettent de combiner ces deux modes de connexion !

    Le mode de fonctionnement est assez simple :

    Nous avons une table de fait avec, disons, 3 ans de données d’historique que nous analysons. Nos données sources sont enrichies au fur et à mesure tous les jours, mais par soucis d’efficacité nous ne rechargeons les données qu’une fois par jour en début de matinée.
    Cette nouvelle fonctionnalité va nous permettre de partitionner cette table de fait en plusieurs partitions.
    Le but est de nous permettre de garder en IMPORT toutes les données des 3 dernières années en tant que données « archivées », et les données les plus récentes (disons le dernier mois) en DIRECTQUERY comme données « incrémentales ».

    tables hybrides

    Mise en place de la fonctionnalité

     

    Il faut commencer par mettre en place l’actualisation incrémentielle du jeu de données. Cette fonctionnalité permet de partitionner notre jeu de données (entièrement géré par Power BI, ce ne sont que quelques clics à effectuer de notre côté pas de panique !), pour actualiser uniquement la ou les partitions, et non pas le jeu de données entier. Cela nous permet de réduire significativement la quantité de données à actualiser, tout en garantissant que les modifications les plus récentes de la source sont incluses dans notre jeu de données.

    Comment la mettre en place ? Rien de compliqué, on commence par créer 2 paramètres dans Power Query.

     

    range startRange End

    Une fois créés, ces paramètres vont permettre de filtrer notre table sur des colonnes de type Date selon cette formule Power Query M :
    each [Invoice Date Key] > RangeStart and [Invoice Date Key] < RangeEnd)

    Cette formule permet tout simplement de filtrer nos données sur la période définie par les paramètres, autrement dit à 1 mois.
    Ou en appliquant les paramètres comme filtre de dates et heures personnalisées

    filtrer les lignes

    Ensuite on ferme et on applique les modifications.

    onglet fermer et appliquer

    De retour dans Power BI Desktop,

    Comme vous pouvez le voir, l’actualisation incrémentielle comporte 2 périodes à renseigner :

    La période de données à archiver (en années/mois/trimestres/jours/ …)

    La période de données à charger de manière incrémentielle (en années/mois/trimestres/jours/…)

    Et en paramètre supplémentaire, l’obtention des données récentes en temps réel.
    Il suffit de cocher une case supplémentaire autre que celle du chargement incrémentiel.

    Le 4ème point affiché présente les différentes partitions, qui vont s’appliquer sur le jeu de données une fois celui publié sur Power BI Service. Elles sont aussi gérées par ce dernier.
    Comment ces partitions se présentent-elles ?

    En faisant un focus rapide sur un exemple de partitions créées, on peut voir ceci :

    Les 3 premières années vont être stockées dans des partitions en IMPORT et archivées

    Les 12 mois suivants vont être stockés dans des partitions en IMPORT et incrémentalement actualisés

    La partition des données en temps réelle quant à elle sera en DIRECTQUERY

     

    Cependant, il y a quelques paramètres à prendre en compte lorsqu’on souhaite mettre en place ces données en temps réel (aussi appelées tables hybrides).

    1. Cette fonctionnalité n’est disponible qu’avec une licence Premium uniquement

    2. Le temps réel utilisant le Direct Query comme connexion, les limitations s’y appliquant rentrent en compte (comme présenté au début de l’article)

    3. Il n’est pas possible d’écraser un rapport existant qui utilise des tables hybrides dans Power BI Service. Cette action écraserait les partitions existantes et les données qui y sont stockées.

    4. Il n’est pas possible de télécharger un jeu de données (et donc un rapport au format PBIX) qui utilise des partitions depuis Power BI Service.

     

    La solution présente également plusieurs avantages :

    1. En actualisant seulement les données récentes sur une plage réduite cela permet de réduire les cycles d’actualisation, grâce au mode de connexion DirectQuery.

    2. Ces cycles sont donc plus courts et plus fiables, les jeux de données étant réduis.

    3. Les jeux de données étants réduis, les cycles d’actualisation le sont tout autant, ce qui augmente significativement les performances de votre rapport.

     

    Faites appel à un consultant pour votre projet Power BI >