Power BI Desktop – DirectQuery vs Import

Power BI est la solution reporting de Microsoft. Elle est composée entre autres de Power BI Desktop, de Power Query, ….

Power BI Desktop est un outil de type « client lourd » qui permet de restituer et mettre en forme les données provenant de différentes sources. Deux types de chargement de données sont disponibles :

  • Import
  • DirectQuery

Dans cet article, nous présentons et réalisons un comparatif de ces deux méthodes.

Les exemples sont basés sur une même base de données SQL Server.

Méthode Import

Méthode Import Power BI Desktop

La méthode Import charge les données dans Power BI. Lorsque l’on ajoute une source de données en Import, la totalité du contenu de la ou les table(s) sélectionnée(s) est donc importée dans le cache.

Le chargement des données en Import permet de charger les données provenant de différentes sources de données. Vous pouvez ensuite gérer vos jointures et ajouter celles qui n’auraient pas été générées par l’auto-détection via l’onglet « Modèle ».

Chargement des données en import

Ce type de chargement ayant importé toutes les données disponibles, vous pouvez ensuite utiliser les différentes fonctions DAX pour transformer vos données sans que cela n’ait d’impact sur les performances.

L’utilisation de cette méthode est toutefois limitée. Il n’est possible d’importer des jeux de données que dans la limite de 1Go.

Lors de la mise à jour des données dans la base source, il faudra d’abord actualiser le document sur Power BI Desktop pour ensuite le réimporter par exemple sur le Power BI report Server.

Méthode DirectQuery

Méthode DirectQuery Power BI Desktop

La méthode DirectQuery, permet de se connecter directement à la base de données source. Aucune donnée n’est importée dans Power BI. Les requêtes nécessaires seront envoyées pour remonter les informations demandées.

Contrairement à la méthode Import, la méthode DirectQuery n’est pas limitée à un jeu de donnée de moins de 1Go. Nous pouvons donc l’utiliser lorsque l’on travaille sur des bases de données à fortes volumétries. Cependant, chaque requête sera limitée à un million de lignes maximum.

Cette méthode permet de travailler sur des jeux de données en quasi-temps réel. Il suffira juste de rafraîchir le document pour avoir les données à jour.

Il est donc préconisé d’utiliser ce type de chargement lorsque l’on utilise une base où les données changent continuellement. Si l’on désire passer de la méthode DirectQuery à l’Import, on peut le faire facilement comme dans l’encadré rouge sur l’image ci-dessous.

Chargement méthode import Power Bi Desktop

Toutefois, lorsque l’on utilise la méthode DirectQuery, on ne peut avoir qu’une seule source de données. Il faudra utiliser les modèles composites si l’on souhaite disposer de plusieurs sources au sein du document.

De plus, cette méthode n’est utilisable que pour certains types de sources de données :

  • Amazon Redshift
  • Cubes AtScale
  • Azure Analysis Services
  • Azure Data Explorer (Kusto)
  • Azure HDInsight Spark
  • Azure SQL Database
  • Azure SQL Data Warehouse
  • Connecteur BI
  • Denodo
  • Dremio
  • Essbase
  • Exasol
  • HDInsight Interactive Query
  • IBM DB2
  • IBM Netezza
  • Impala
  • Indexima
  • InterSystems IRIS
  • Jethro ODBC
  • Kyligence Enterprise
  • MarkLogic ODBC
  • Oracle
  • PostgreSQL
  • Jeux de données Power BI
  • QubolePresto
  • Serveur de messages SAP Business Warehouse
  • Serveur SAP Business Warehouse
  • SAP HANA
  • Snowflake
  • Spark
  • SQL Server
  • SQL Server Analysis Services
  • Teradata
  • Vertica

De manière générale, l’utilisation de fonctions DAX est limitée pour garantir l’optimisation du temps des requêtes. Les fonctions temporelles ne sont donc pas disponibles sous ce mode de chargement de données.

Lors de la modélisation de votre modèle, certaines jointures ne seront disponibles qu’en sens unique et l’auto-détection ne sera pas toujours réalisée.

Modélisation des données avec la méthode DirectQuery

CONCLUSION DE L’EXPERT

Power BI Desktop permet donc l’analyse d’une base de données via deux méthodes : Import et DirectQuery.

La méthode Import charge la totalité du contenu des tables et permet l’utilisation de toutes les fonctions DAX pour agrémenter vos jeux de données. Cependant, elle est limitée en termes de volumétrie de données.

La méthode DirectQuery quant à elle, permet de travailler sur des bases de données plus importante en supprimant la limitation du volume de données. Cependant, elle limite l’utilisation de sources multiples ainsi que certaines fonctions DAX.

Chacune des méthodes est donc spécifique selon le jeu de données ainsi que les transformations que vous souhaitez effectuer.

Pour en savoir plus sur Microsoft Power BI, c’est ici.



Laisser un commentaire