Power BI: Importation de données vs connexion directe

Publié le 25 janvier 2018
par Sophie Marchand M.Sc.
Connexion directe vs import

Vous êtes nombreux à me demander quelle est la différence entre une connexion directe aux données sources dans Power BI et une importation de données. En fait, il existe plus précisément 3 façons de se connecter aux données sources. Il faut, en effet, ajouter aux 2 options précédentes la connexion active (disponible pour des données en provenance de SSAS, d’un modèles de données Power BI publié sur le service ou de Common Data Services). Cet article vise à expliquer les grandes différences, ainsi que les avantages et désavantages de chacune des options.

 

Introduction

Pour une vaste sélection de sources de données, l’importation de données est le seul mode de connexion possible. Évidemment, si on se connecte à un fichier, on n’a d’autre choix que de l’importer. Par contre, pour d’autres sources de données, comme les bases de données SQL, par exemple, l’usager peut choisir entre l’importation de données ou la connexion directe. Pour d’autres sources encore, comme celles en provenance de modèles tabulaires sur SSAS, de modèles de données Power BI publiés sur le service ou de Common Data Services, l’usager n’aura pas l’option d’utiliser une connexion directe, mais plutôt une connexion active.

 

Importation de données

Lorsque vous importez des données dans Power BI Desktop, vous pouvez choisir les éléments que vous désirez importer.

Par exemple, si vous choisissez d’importer les données d’un modèle tabulaire sur SSAS, vous allez carrément importer les données et Power BI les conservera dans une cache. Se faisant, votre fichier ne sera pas lié d’aucune façon à la source. Pour le mettre à jour, vous devrez cliquer sur le bouton d’actualisation et Power BI importera de nouveau les données. Une fois le rapport publié dans le service, si la base de données SSAS est locale, il faudra installer une passerelle et grâce à cette passerelle, il sera possible de programmer un rafraîchissement de données, à intervalles fixes dans le temps (le plus petit intervalle est de une heure, ce qui n’est pas du temps réel mais pas loin non plus).

Comme Power BI n’a pas à aller lire les données à la source, les requêtes sur les visualisations sont beaucoup plus rapides.

En mode d’importation de données, vous pouvez importer des données de plusieurs sources différentes, ce qui n’est pas possible en connexion directe. En effet, dès que vous utilisez une connexion directe, vous êtes limité à n’utiliser que cette seule source de données dans votre rapport.

 

Voici un exemple d’importation de données d’un modèle SSAS

D’abord, vous choisissez le modèle et vous pouvez apercevoir les différentes tables du modèle.

SSAS Import

 

Vous pouvez sélectionner les champs désirés dans chacune des tables.

SSAS import options

Dans les étapes appliquées, vous verrez une étape “Éléments ajoutés”. Si vous désirez modifier les champs à importer, vous pourrez double-cliquer sur cette étape et effectuer vos modifications.

SSAS Import Éléments ajoutés

 

De même, vous retrouverez un menu contextuel “Outils cube” qui vous permettra d’ajouter des éléments et de réduire (supprimer) des colonnes.

SSAS IMport outils cube

 

Connexion directe (direct query)

Lorsque vous vous connectez directement aux données sources à partir de Power BI Desktop, vous travaillez toujours avec les données en temps réel. Les données ne sont pas importées dans Power BI Desktop. Il y a plutôt un pont entre la source et Power BI Desktop. Le temps d’actualisation dépend directement de la performance de la source de données.

Une fois le rapport publié sur le service Power BI, il faudra ou non installer une passerelle, dépendamment de la source. La liste des sources de données prenant en charge la connexion directe et la nécessité ou non d’installer une passerelle selon la source est fournie à la fin de cette section.

 

Quelles sont les implications de la connexion directe?

  • Vous pourrez vous connecter uniquement à cette source de données. Si vous tentez de vous connecter à une autre source, vous obtiendrez le message ci-dessous. Ce faisant, si vous optez pour la connexion directe, vos rapports ne pourront puiser que dans une seule source de données.

Passage au mode importation

 

  • Les transformations de données possibles, dans l’éditeur de requêtes, seront plus limitées, afin d’éviter des problèmes de performance. Il n’existe pas de liste officielle précisant l’ensemble de ces limitations mais vous devez garder à l’esprit que certaines transformations ne seront pas possibles, dépendamment de la source.

 

  • La modélisation de données sera également limitée, pour éviter des problèmes de performance. Ces limites aussi dépendent des sources de données. Par exemple, on retrouvera des limites au niveau des colonnes calculées et il sera impossible d’utiliser des tables calculées ou des relations bidirectionnelles. De même, il sera impossible d’utiliser la fonction DAX PATH pour traiter les relations parents-enfants.
    • Il est possible de transcender ces limites en modifiant les options dans Power BI Desktop, tel qu’illustré ci-dessous. Toutefois, il faut savoir que certaines expressions qui fonctionnent bien lors de l’importation de données peuvent ralentir considérablement les requêtes en mode de connexion directe.

DirectQuery Options avancées

 

  • On rencontrera aussi des limitations au niveau du rapport. Notamment, les fonctionnalités suivantes ne seront pas prises en charge:
    • Génération des informations rapides
    • Questions et réponses (Q&A)
    • Analyse dans Excel (peut fonctionner mais risque d’entraîner des problèmes de performance)

 

Sécurité et passerelle

Un rapport créé en connexion directe et publié sur le service utilise toujours les mêmes informations d’identification pour se connecter à la source de données sous-jacente. Ci-dessous, j’ai publié un rapport .pbix se connectant directement à un serveur SQL. Voici le message obtenu:Passerelle

 

Dans Power BI Service, en effet, on ne voit rien, tant que la source de données n’a pas été ajoutée à la passerelle.

PBI Service gateway

 

Ci-dessous, j’ajoute la source de données à la passerelle et j’utilise mes identifiants de connexion. C’est donc avec ces identifiants que se fera la connexion à la source.

Paramètres de la source

 

Et le rapport est maintenant accessible.

Rapport SQL sur PBI Service

Cela dit, si aucune information de sécurité par ligne n’est intégrée au rapport, tous les utilisateurs verront donc les mêmes données, comme dans le cas où il y a une importation de données.

 

Quand utiliser la connexion directe?

  • Quand la source est multidimensionnelle et contient des mesures (comme SAP BW, SAP HANA ou un modèle SSAS MD)
    • Dans ce cas, si on utilisait le mode d’importation de données, on pourrait rencontrer des problèmes, notamment avec  les mesures non additives
  • Quand les données sources changent fréquemment et qu’il est important d’avoir des données presqu’en temps réel
    • Il ne faut pas oublier qu’en mode d’importation de données, on peut programmer des rafraîchissements de données aux heures
  • Quand les données sont très volumineuses et qu’il est tout simplement impossible de les importer
    • Attention, le fait de s’y connecter directement pourrait prendre beaucoup de temps et être peu performant
    • Il pourrait être utile de tester l’importation de données avec des requêtes SQL permettant de regrouper les données plutôt que de se connecter à la source entière (un endroit est prévu à cet effet dans la fenêtre de connexion)

Connexion directe vs import

Autres considérations

Voici également d’autres éléments auxquels réfléchir:

  • Si les données changent, il n’existe aucune garantie de cohérence entre les visuels
  • Il existe une limite de 1M de lignes retournées sur toute requête (on peut interroger 10M (ou plus) de lignes dans la source mais le résultat retourné doit être inférieur à 1M de lignes)
  • Il est impossible de passer du mode Importation au mode DirectQuery
  • La performance est étroitement liée à la performance de la source de données

 

Sources de données prises en charge et passerelles selon sources

Pour obtenir une liste des sources de données auxquelles vous pouvez vous connecter en connexion directe et les informations liées à l’utilisation ou non de passerelles lorsque les rapports sont publiés dans Power BI Service, vous pouvez vous référer à l’article suivant: Sources de données prises en charge et passerelles selon sources.

 

Exemple de connexion directe à une base de données SQL

D’abord, on se connecte en connexion directe.

SQL Direct Query

 

On a ensuite accès à l’ensemble des tables de la source.

Connexion SQL Serveur

 

L’éditeur de requêtes est accessible.

SQL Éditeur de requêtes

 

Il est possible de modifier les relations entre les tables.

SQL Réorganiser liaisons

 

Il est possible de créer de nouvelles mesures et de nouvelles colonnes.

SQL Mesures et colonnes

 

 

Connexion active (live connection)

La connexion active est disponible pour les données en provenance de SSAS, d’un modèle de données publié sur Power BI Service ou de Common Data Services. Lorsque vous vous connectez à SSAS, par exemple, aucune requête n’est définie, et le modèle externe tout entier apparaît dans la liste de champs. Il n’est pas possible de définir de nouvelles colonnes calculées, hiérarchies, relations et autres. Au lieu de cela, vous vous connectez directement au modèle SSAS.

 

Attention! Une mise à jour importante de la connection active sur les jeux de données Power BI et Analysis Services a été introduite en 2021. Pour en savoir davantage, consultez notre article 8 nouveautés Power BI à découvrir.

 

Lorsque vous publiez un rapport connecté activement à SSAS sur Power BI Service, vous noterez que:

  • Il faut installer une passerelle de données afin de pouvoir interroger le modèle de données local et programmer des rafraîchissements de données à intervalles fixes
  • L’identité de l’utilisateur ouvrant le rapport est toujours transmise à la source SSAS sous-jacente et les paramètres de sécurité de la source peuvent donc être utilisés directement

 

Exemple de connexion active à un modèle SSAS tabulaire

D’abord, on se connecte en connexion active.

SSAS Connexion directe

 

Ensuite, on consulte les modèles disponibles et on choisit celui que l’on souhaite analyser.

Connexion à internet sales

 

Tous les éléments du modèle deviennent accessibles dans le panneau des champs, y compris les mesures et les KPI, tel qu’illustré ci-dessous.

SSAS Champs disponibles

 

On n’a pas de module pour gérer les tables de données ou les relations entre les tables. On n’a seulement accès au module pour créer des rapports.

SSAS Interface principale

 

On n’a pas accès à l’éditeur de requêtes.

SSAS Modifier les requêtes

 

On peut créer des mesures simples mais pas de colonnes calculées en DAX.

SSAS Ajout de mesures

 


CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

1 réflexion sur “Power BI: Importation de données vs connexion directe”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut