DirectQuery et SAP HANADirectQuery and SAP HANA

Vous pouvez vous connecter aux sources de données SAP HANA directement avec DirectQuery.‎You can connect to SAP HANA data sources directly using DirectQuery. Il existe deux moyens de se connecter à HANA :There are two options when connecting to HANA:

  • Traiter HANA comme une source multidimensionnelle (par défaut) : actuellement en préversion ; nouveau paramètre par défaut.Treat HANA as a multi dimensional source (default): Currently in preview, and the new default setting. Dans ce cas, le comportement sera celui de Power BI quand il se connecte à d’autres sources multidimensionnelles, comme SAP Business Warehouse ou Analysis Services.In this case, the behavior will be similar to when Power BI connects to other multi-dimensional sources like SAP Business Warehouse, or Analysis Services. En cas de connexion à HANA avec ce paramètre, une seule vue d’analyse ou de calcul est sélectionnée, et toutes ses mesures, toutes ses hiérarchies et tous ses attributs sont disponibles dans la liste des champs.When connecting to HANA using this setting, a single analytic or calculation view is selected, and all the measures, hierarchies and attributes of that view will be available in the field list. Lors de la création de visuels, les données d’agrégation sont toujours extraites d’HANA.As visuals are created, the aggregate data will always retrieved from HANA. Il s’agit de l’approche normale et recommandée.This is the normal, recommended approach.

  • Traiter HANA comme une source relationnelle : dans ce cas, Power BI traite HANA comme une source relationnelle.Treat HANA as a relational source: In this case, Power BI treats HANA as a relational source. Cela offre une plus grande souplesse, mais il faut veiller à ce que les mesures soient agrégées comme prévu et éviter des problèmes de performances.This offers greater flexibility, but care must be taken to ensure that measures are aggregated as expected, and to avoid performance issues.

L’approche utilisée pour se connecter est déterminée par une option d’outil globale, définie en sélectionnant Fichier > Options et paramètres, puis Options > DirectQuery et enfin l’option Traiter HANA comme une source relationnelle, comme dans l’image suivante.The approach used to connect is determined by a global tool option, which is set by selecting File > Options and settings and then Options > DirectQuery, then selecting the option Treat HANA as a relational source, as shown in the following image.

Sachez que le Connecteur SAP HANA est actuellement en préversion et doit être activé pour que l’option mentionnée précédemment soit visible.Note that the SAP HANA connector is currently in Preview, and must be enabled before the option mentioned previously will be visible. Pour activer la nouvelle expérience SAP HANA en préversion, sélectionnez-la sous Options > Fonctionnalités en préversion, comme dans l’image suivante.To enable the new SAP HANA preview experience, select it under Options > Preview features, as shown in the following image.

L’option consistant à traiter HANA comme une source relationnelle est l’approche utilisée pour toutes les nouvelles connexions créées.The option to treat HANA as a relational source controls the approach used for any new connections created. Elle n’a aucun effet ni sur les connexions HANA existantes dans le rapport actuel, ni sur les connexions des autres rapports ouverts.It has no effect on any existing HANA connections in the current report, nor on connections in any other reports that are opened. Par conséquent, si l’option est actuellement décochée, les nouvelles connexions ajoutées à HANA avec la boîte de dialogue Obtenir des données seront établies en traitant HANA comme une source multidimensionnelle.So if the option is currently unchecked, then upon adding a new connection to HANA using Get Data, that connection will be made treating HANA as a multi-dimensional source. À l’inverse, si un autre rapport, qui se connecte également à HANA, est ouvert, il continuera à se comporter conformément à l’option définie au moment de sa création.However, if a different report is opened that also connects to HANA, then that report will continue to behave according to the option that was set at the time it was created. Cela signifie que tous les rapports qui se connectent à HANA et ont été créés avant février 2018 continueront à traiter HANA comme une source relationnelle.This means that any reports connecting to HANA that were created prior to February 2018 will continue to treat HANA as a relational source.

Les deux approches représentent des comportements très différents, et il n’est pas possible de passer de l’une à l’autre pour un rapport existant.The two approaches constitue very different behavior, and it's not possible to switch an existing report from one approach to the other.

Examinons plus en détail ces deux approches tour à tour.Let's look at more detail about each of these two approaches, in turn.

Traiter HANA comme une source multidimensionnelle (par défaut)Treat HANA as a multi-dimensional source (default)

Il s’agit du comportement par défaut, actuellement en préversion.This is the default behavior, and is currently in Preview. Pour activer cette fonctionnalité en préversion, activez l’option de préversion en suivant les étapes décrites dans la section précédente.To enable this preview feature, follow the steps described in the previous section to enable the preview option.

Une fois la fonctionnalité Préversion activée dans Options > Fonctionnalités en préversion (voir la section précédente pour savoir comment définir ce paramètre), toutes les nouvelles connexions à HANA utilisent cette méthode de connexion par défaut, et traitent HANA comme une source multidimensionnelle.Once this Preview feature is enabled in Options > Preview features (see earlier section for steps on making this setting), all new connections to HANA use this connection method by default, treating HANA as a multi-dimensional source. Pour traiter une connexion à HANA comme une source relationnelle, sélectionnez Fichier > Options et paramètres, puis cochez la case sous DirectQuery > Traiter HANA comme une source relationnelle.In order to treat a connectio to HANA as a relational source, you must select File > Options and settings then check the box under Direct Query > Treat HANA as a relational source. Tant que cette fonctionnalité est en préversion, les rapports créés suivant l’approche multidimensionnelle ne sont pas publiables sur le service Power BI ; ils produiraient sinon des erreurs à l’ouverture dans le service Power BI.While this feature is in Preview, reports created using the multi-dimensional approach cannot be published to the Power BI service, and doing so will result in errors when the report is opened within the Power BI service.

En cas de connexion à HANA en tant que source multidimensionnelle, les principes suivants s’appliquent :When connecting to HANA as a multi-dimensional source, the following applies:

  • Dans le Navigateur Obtenir des données, on ne peut sélectionner qu’une seule vue HANA.In the Get Data Navigator, a single HANA view can be selected. Il n’est pas possible de sélectionner des mesures ou des attributs individuellement.It is not possible to select individual measures or attributes. Aucune requête n’est définie au moment de la connexion, à la différence de l’approche consistant à importer des données ou à utiliser DirectQuery tout en traitant HANA comme une source relationnelle.There is no query defined at the time of connecting, which is different from importing data or when using DirectQuery while treating HANA as a relational source. Cela signifie également qu’il n’est pas possible d’utiliser directement une requête SQL HANA si cette méthode de connexion est sélectionnée.This also means that it's not possible to directly use a HANA SQL query when selecting this connection method.

  • Toutes les mesures, toutes les hiérarchies et tous les attributs de la vue sélectionnée s’afficheront dans la liste des champs.All the measures, hierarchies and attributes of the selected view will be displayed in the field list.

  • Lorsqu’une mesure est utilisée dans un visuel, sa valeur fait l’objet d’une requête auprès d’HANA au niveau d’agrégation nécessaire au visuel.As a measure is used in a visual, HANA will be queried to retrieve the measure value at the level of aggregation necessary for the visual. En ce qui concerne les mesures non additives (compteurs, taux, etc.), toutes les agrégations sont effectuées par HANA ; aucune autre n’est réalisée par Power BI.So when dealing with non-additive measures (counters, ratios, and so on) all aggregations are performed by HANA, and no further aggregation is performed by Power BI.

  • Pour garantir qu’il soit toujours possible de récupérer les valeurs d’agrégation correctes auprès d’HANA, certaines restrictions s’imposent.To ensure the correct aggregate values can always be obtained from HANA, certain restrictions must be imposed. Par exemple, il n’est pas possible d’ajouter des colonnes calculées ou de combiner des données de plusieurs vues HANA dans le même rapport.For example, it's not possible to add calculated columns, or to combine data from multiple HANA views within the same report.

La solution qui consiste à traiter HANA comme une source multidimensionnelle n’offre pas autant de souplesse que l’approche relationnelle, mais elle est plus simple et garantit des valeurs d’agrégation correctes sur les mesures HANA complexes, ainsi que des performances généralement supérieures.Treating HANA as a multi-dimensional source does not offer the greater flexibility provided by the alternative relational approach, but it is simpler, and ensures correct aggregate values when dealing with more complex HANA measures, and generally results in higher performance.

La liste Champ comportera toutes les mesures, tous les attributs et toutes les hiérarchies provenant de la vue HANA.The Field list will include all measures, attributes and hierarchies from the HANA view. Sachez que les comportements suivants s’appliquent avec cette méthode de connexion :Note the folloiwing behaviors that apply when using this connection method:

  • Tout attribut compris dans au moins une hiérarchie sera masqué par défaut.Any attribute that is included in at least one hierarchy will be hidden by default. Il est toutefois possible de l’afficher en cas de besoin, en sélectionnant Voir les éléments masqués dans le menu contextuel de la liste des champs.However, they can be seen if required by selecting View hidden from the context menu on the field list. Si nécessaire, il peut être rendu visible dans le même menu contextuel.From the same context menu they can be made visible, if required.

  • Dans HANA, un attribut peut être défini de façon à utiliser un autre attribut comme étiquette.In HANA, an attribute can be defined to use another attribute as its label. Par exemple, Product (avec les valeurs 1, 2, 3, etc.) pourrait utiliser ProductName (avec les valeurs Bike, Shirt, Gloves, etc.) comme étiquette.For example, Product (with values 1,2,3, and so on) could use ProductName (with values Bike,Shirt,Gloves, and so on) as its label. Dans ce cas, un seul champ Product s’affichera dans la liste des champs, dont les valeurs seront les étiquettes Bike, Shirt, Gloves, etc., mais qui sera triée et dont l’unicité sera déterminée par les valeurs de clés 1, 2, 3, etc.In this case, a single field Product will be shown in the field list, whose values will be the labels Bike, Shirt, Gloves, and so on, but which will be sorted by, and with uniqueness determined by, the key values 1,2,3. Une colonne masquée Product.Key est également créée, ce qui permet d’accéder aux valeurs de clés sous-jacentes si nécessaire.A hidden column Product.Key is also created, allowing access to the underlying key values if required.

Les éventuelles variables définies dans HANA de manière sous-jacente s’affichent au moment de la connexion, et il est possible d’entrer les valeurs requises.Any variables defined in the underlying HANA are be displayed at the time of connecting, and the necessary values can be entered. Celles-ci seront modifiables par la suite, en sélectionnant Modifier les requêtes dans le ruban, puis Modifier les Variables dans le menu déroulant qui s’affiche.Those values can subsequently be changed by selecting Edit Queries from the ribbon, and then Edit Variables from the drop down menu displayed.

Les opérations de modélisation autorisées sont plus restrictives que dans le cas général avec DirectQuery, car il est nécessaire de veiller à ce que l’on puisse toujours récupérer les données d’agrégation correctes auprès d’HANA.The modelling operations allowed are more restrictive than in the general case when using DirectQuery, given the need to ensure that correct aggregate data can always be obtained from HANA. Toutefois, il reste possible d’effectuer de nombreux ajouts et modifications, notamment de définir des mesures, de renommer et de masquer des champs et de définir des formats d’affichage.However, it's still possible to make many additions and changes, including defining measures, renaming and hiding fields, and defining display formats. Tous ces changements seront conservés lors de l’actualisation, et toutes les modifications non conflictuelles apportées à la vue HANA s’appliqueront.All such changes will be preserved on refresh, and any non conflicting changes made to the HANA view will be applied.

Autres restrictions de modélisationAdditional Modelling Restrictions

Voici les autres grandes restrictions qui portent sur la modélisation en cas de connexion à SAP HANA avec DirectQuery (en tant que source multidimensionnelle) :The primary additional modeling restrictions when connecting to SAP HANA using DirectQuery (treat as multi-dimensional source) are the following:

  • Aucune prise en charge des colonnes calculées : la possibilité de créer des colonnes calculées est désactivée.No support for calculated columns: The ability to create calculated columns is disabled. Cela signifie également que le regroupement et le clustering, qui permettent de créer des colonnes calculées, ne sont pas disponibles.This also means that Grouping and Clustering, which create calculated columns, are not available.
  • Autres limitations concernant les mesures : des limitations supplémentaires sont imposées aux expressions DAX utilisables dans les mesures, afin de refléter le niveau de prise en charge offert par SAP HANA.Additional limitations for measures: There are additional limitations imposed on the DAX expressions that can be used in measures, to reflect the level of support offered by SAP HANA.
  • Aucune prise en charge de la définition de relations : on ne peut interroger qu’une seule vue dans un rapport ; par conséquent, la définition de relations n’est pas prise en charge du tout.No support for defining relationships: Only a single view can be queries within a report, and as such, there's no support for defining relationships.
  • Aucune vue de données : la vue de données affiche normalement les données détaillées dans les tables.No Data View: The Data View normally displays the detail level data in the tables. Étant donné la nature des sources OLAP comme SAP HANA, cette vue n’est pas disponible sur SAP HANA.Given the nature of OLAP sources such as SAP HANA, this view is not available over SAP HANA.
  • Les détails des colonnes et des mesures sont fixes : la liste de colonnes et de mesures de la liste de champs est fixée par la source sous-jacente et ne peut pas être modifiée.Column and measure details are fixed: The list of columns and measures seen in the field list are fixed by the underlying source, and cannot be modified. Par exemple, il n’est pas possible de supprimer une colonne, ni de modifier son type de données (il est en revanche possible de la renommer).For example, it's not possible to delete a column, nor change its datatype (it can, however, be renamed).
  • Autres limitations dans DAX : il existe des limitations supplémentaires pour les expressions DAX qui peuvent être utilisées dans les définitions de mesures, afin de refléter les limitations de la source.Additional limitations in DAX: There are additional limitations on the DAX that can be used in measure definitions, to reflect limitations in the source. Par exemple, il n’est pas possible d’utiliser une fonction d’agrégation sur une table.For example, it's not possible to use an aggregate function over a table.

Autres restrictions de visualisationAdditional Visualization Restrictions

Quelques restrictions portent sur les visuels en cas de connexion à SAP HANA avec DirectQuery (en tant que source multidimensionnelle) :There are a few restrictions in visuals when connecting to SAP HANA using DirectQuery (treat as multi-dimensional source):

  • Aucune agrégation de colonnes : il n’est pas possible de modifier l’agrégation d’une colonne sur un visuel ; elle est toujours définie sur Ne pas résumer.No aggregation of columns: It's not possible to change the aggregation for a column on a visual, and it is always Do Not Summarize.

Traiter HANA comme une source relationnelleTreat HANA as a relational source

Le fait de se connecter à HANA en tant que source relationnelle offre un peu plus de souplesse.When choosing to connect to HANA as a relational source, some additional flexibility becomes available. Il est par exemple possible de créer des colonnes calculées, d’inclure des données provenant de plusieurs vues HANA et de créer des relations entre les tables qui en résultent.For example, you can create calculated columns, include data from multiple HANA views, and create relationships between the resulting tables. Toutefois, il faut alors bien comprendre certains aspects du traitement des connexions afin de s’assurer que :However, when using SAP HANA in this manner, it's important to understand certain aspects of how connections are treated, to ensure the following:

  • On obtient bien les résultats attendus lorsque la vue SAP HANA contient des mesures non additives (par exemple, des comptages de valeurs ou des moyennes, plutôt que des sommes simples).The results are as expected, when the SAP HANA view contains non-additive measures (for example, distinct counts, or averages, rather than simple sums).
  • Les requêtes qui en résultent sont efficaces.The resulting queries are efficient

Il est utile de commencer par clarifier le comportement d’une source relationnelle comme SQL Server lorsque la requête définie dans la boîte de dialogue Obtenir des données ou dans l’Éditeur de requêtes effectue une agrégation.It's useful to start by clarifying the behavior of a relational source such as SQL Server, when the query defined in Get Data or Query Editor performs an aggregation. Dans l’exemple suivant, une requête définie dans l’Éditeur de requêtes retourne le prix moyen par ProductID.In the example that follows, a query defined in Query Editor returns the average price by ProductID.

Si vous importez les données dans Power BI (plutôt que d’utiliser DirectQuery), les résultats sont les suivants :If the data is being imported into Power BI (versus using DirectQuery), the following would result:

  • Les données sont importées au niveau d’agrégation défini par la requête créée dans l’éditeur de requête.The data is imported at the level of aggregation defined by the query created in Query Editor. Par exemple, prix moyen par produit.For example, average price by product. Cela génère une table à deux colonnes (ProductID et AveragePrice) qui peut être utilisée dans les visuels.This results in a table with the two columns ProductID and AveragePrice that can be used in visuals.
  • Dans un visuel, toute agrégation subséquente (par exemple Sum, Average, Min, autres) est effectuée sur ces données importées.In a visual, any subsequent aggregation (such as Sum, Average, Min, others) is performed over that imported data. Par exemple, si l’on inclut AveragePrice sur un visuel, l’agrégat Sum est utilisé par défaut et retourne la somme des valeurs AveragePrice de chaque ProductID, ce qui donnerait 13,67 dans notre exemple.For example, including AveragePrice on a visual will use the Sum aggregate by default, and would return the sum over the AveragePrice for each ProductID – which in this example case would be 13.67. Cela s’applique également à toute autre fonction d’agrégation (telle que Min, Average, etc.) utilisée sur le visuel.The same applies to any alternative aggregate function (such as Min, Average, so on) used on the visual. Par exemple, Average de AveragePrice retourne la moyenne de 6,66, 4 et 3, soit 4,56, et non la moyenne de Price sur les six enregistrements de la table sous-jacente, qui elle est égale à 5,17.For example, Average of AveragePrice returns the average of 6.66, 4 and 3, which equates to 4.56, and not the average of Price on the 6 records in the underlying table, which is 5.17.

Si vous utilisez DirectQuery (sur cette même source relationnelle) au lieu de l’importation, la même sémantique s’applique et les résultats sont identiques :If DirectQuery (over that same relational source) is being used instead of Import, the same semantics apply and the results would be exactly the same:

  • Avec la même requête, exactement les mêmes données sont présentées à la couche de création de rapports, ce qui est logique, même si les données ne sont pas réellement importées.Given the same query, logically exactly the same data is presented to the reporting layer – even though the data is not actually imported.

  • Dans un visuel, toute agrégation subséquente (Sum, Average, Min, autres) est de nouveau effectuée sur la table logique à partir de la requête.In a visual, any subsequent aggregation (Sum, Average, Min, others) is again performed over that logical table from the query. Là encore, un visuel contenant Average de AveragePrice renvoie la même valeur de 4,56.And again, a visual containing Average of AveragePrice returns the same 4.56.

Étudions maintenant SAP HANA lorsque la connexion est traitée comme une source relationnelle.Now let's consider SAP HANA, when the connection is treated as a relational source. Power BI peut utiliser les vues analytiques et les vues de calcul dans SAP HANA, qui peuvent toutes contenir des mesures.Power BI can work with both Analytic Views and Calculation Views in SAP HANA, both of which can contain measures. À ce jour cependant, l’approche de SAP HANA suit les principes décrits précédemment dans cette section : la requête définie dans la boîte de dialogue Obtenir des données ou dans l’Éditeur de requêtes détermine les données disponibles ; toutes les agrégation effectuées par la suite dans un visuel porteront sur ces données. Ce principe s’applique à la fois à l’importation et à DirectQuery.Yet today the approach for SAP HANA follows the same principles as described previously in this section: the query defined in Get Data or Query Editor will determine the data available, and then any subsequent aggregation in a visual is over that data, and the same applies for both Import and DirectQuery.
Toutefois, étant donné la nature de HANA, la requête définie dans la boîte de dialogue Obtenir des données initiale ou l’éditeur de requête est toujours une requête d’agrégation et comprend généralement des mesures pour lesquelles l’agrégation effectivement utilisée est définie par la vue HANA.However, given the nature of HANA, the query defined in the initial Get Data dialog or Query Editor is always an aggregate query, and generally will include measures where the actual aggregation that will be used is defined by the HANA view.

L’équivalent de l’exemple SQL Server ci-dessus est qu’il existe une vue HANA contenant ID, ProductID, DepotID, et des mesures, notamment AveragePrice, définies dans la vue comme Average of Price.The equivalent of the SQL Server example above is that there is a HANA view containing ID, ProductID, DepotID, and measures including AveragePrice, defined in the view as Average of Price.

Si, dans l’expérience Obtenir des données, les sélections concernaient ProductID et la mesure AveragePrice, cela définirait une requête sur la vue qui demanderait ces données d’agrégation (dans un souci de simplicité, l’exemple précédent utilise du pseudo-SQL qui ne correspond pas à la syntaxe exacte de HANA SQL).If, in the Get Data experience, the selections made were for ProductID and the AveragePrice measure, then that is defining a query over the view, requesting that aggregate data (in the earlier example, for simplicity pseudo-SQL is used that doesn’t match the exact syntax of HANA SQL). Ensuite, toutes les agrégations supplémentaires définies dans un visuel agrègent une nouvelle fois les résultats d’une telle requête.Then any further aggregations defined in a visual are further aggregating the results of such a query. Là encore, comme pour SQL Server, ce principe s’applique à la fois à l’importation et à DirectQuery.Again, as described above for SQL Server, this applies both for the Import and DirectQuery case. Notez que dans le cas de DirectQuery, la requête définie dans la boîte de dialogue Obtenir des données ou l’éditeur de requête est utilisée dans une sous-sélection au sein d’une requête unique envoyée à HANA et, par conséquent, toutes les données ne sont pas incluses par lecture avant une agrégation supplémentaire.Note that in the DirectQuery case, the query from Get Data or Query Editor will be used in a subselect within a single query sent to HANA, and thus it is not actually the case that all the data would be read in, prior to aggregating further.

Toutes ces considérations et tous ces comportements nécessitent de prendre en compte les points suivants pour utiliser DirectQuery sur HANA :All of these considerations and behaviors necessitate the following important considerations when using DirectQuery over HANA:

  • Chaque fois que la mesure est non additive dans HANA (par exemple, pas Sum, Min ou Max), vous devez surveiller toute agrégation supplémentaire effectuée dans les visuels.Attention must be paid to any further aggregation performed in visuals, whenever the measure in HANA is non-additive (for example, not a simple Sum, Min, or Max).

  • Dans la boîte de dialogue Obtenir des données ou l’éditeur de requête, seules les colonnes requises pour récupérer les données nécessaires doivent être incluses, afin de refléter le fait que le résultat est une requête, qui doit être une requête raisonnable qu’il est possible d’envoyer à HANA.In Get Data or Query Editor, only the required columns should be included to retrieve the necessary data, reflecting the fact that the result will be a query, that must be a reasonable query that can be sent to HANA. Par exemple, si des dizaines de colonnes sont sélectionnées avec l’idée qu’elles serviront peut-être dans des visuels subséquents, alors, même pour DirectQuery, un simple visuel signifie que la requête d’agrégation utilisée dans la sous-sélection contient ces dizaines de colonnes, ce qui entraîne des performances très médiocres.For example, if dozens of columns were selected, with the thought that they might be needed on subsequent visuals, then even for DirectQuery a simple visual will mean the aggregate query used in the subselect will contain those dozens of columns, which will generally perform very poorly.

Examinons un exemple.Let's look at an example. Dans l’exemple suivant, si l’on sélectionne cinq colonnes (CalendarQuarter, Color, LastName, ProductLine et SalesOrderNumber) dans la boîte de dialogue Obtenir des données, ainsi que la mesure OrderQuantity, alors la création par la suite d’un visuel simple contenant Min OrderQuantity aura pour conséquence d’envoyer la requête SQL suivante à HANA.In the following example, selecting five columns (CalendarQuarter, Color, LastName, ProductLine, SalesOrderNumber) in the Get Data dialog, along with the measure OrderQuantity, will mean that later creating a simple visual containing the Min OrderQuantity will result in the following SQL query to HANA. La partie ombrée correspond à la sous-sélection, qui contient la requête provenant de la boîte de dialogue Obtenir des données / Éditeur de requêtes.The shaded is the subselect, containing the query from Get Data / Query Editor. Si cette sous-sélection donne un résultat à cardinalité très élevé, les performances HANA qui en résulteront seront probablement médiocres.If this subselect gives a very high cardinality result, then the resulting HANA performance will likely be poor.

À cause de ce comportement, il est recommandé de limiter les éléments sélectionnés dans la boîte de dialogue Obtenir des données ou dans l’Éditeur de requêtes aux éléments nécessaires, tout en produisant une requête raisonnable pour HANA.Because of this behavior, we recommend the items selected in Get Data or Query Editor be limited to those items that are needed, while still resulting in a reasonable query for HANA.

Meilleures pratiquesBest Practices

Dans les deux approches de connexion à SAP HANA, les recommandations portant sur l’utilisation de DirectQuery s’appliquent également à HANA, en particulier celles qui sont liées au maintien de bonnes performances.For both approaches to connecting to SAP HANA, recommendations for using DirectQuery also apply to HANA, particularly those related to ensuring good performance. Elles sont décrites en détail dans l’article Utiliser DirectQuery dans Power BI.These recommendations are described in detail in the article using DirectQuery in Power BI.

LimitesLimitations

La liste suivante décrit toutes les fonctionnalités de SAP HANA qui ne sont pas entièrement prises en charge ou se comportent différemment avec Power BI.The following list describes all SAP HANA features that are not fully supported, or features that behave differently when using Power BI.

  • Hiérarchies de type parent-enfant : les hiérarchies de type parent-enfant ne seront pas visibles dans Power BI.Parent Child Hierarchies - Parent child hierarchies will not be visible in Power BI. En effet, Power BI accède à HANA avec l’interface SQL ; or, les hiérarchies de type parent-enfant ne sont pas entièrement accessibles par SQL.This is because Power BI accesses HANA using the SQL interface, and parent child hierarchies cannot be fully accessed via SQL.
  • Autres métadonnées sur les hiérarchies : la structure de base des hiérarchies s’affiche dans Power BI ; toutefois, certaines métadonnées des hiérarchies (par exemple, le contrôle du comportement de hiérarchies déséquilibrées) n’auront aucun effet.Other hierarchy metadata - The basic structure of hierarchies is displayed in Power BI, however some hierarchy metadata (such as controlling the behavior of ragged hierarchies) will have no effect. Il s’agit là encore d’une limitation imposée par l’interface SQL.Again, this is due to the limitations imposed by the SQL interface.
  • Connexion par SSL : il n’est pas possible de se connecter à des instances SAP HANA configurées pour utiliser SSL.Connection using SSL - You cannot connect to SAP HANA instances configured to use SSL. Prise en charge des vues d’attributs : Power BI peut se connecter à des vues d’analyse et de calcul, mais il ne peut pas se connecter directement à des vues d’attributs.Support for Attribute views Power BI can connect to Analytic and Calculation views, but cannot connect directly to Attribute views.
  • Prise en charge des objets Catalogue : Power BI ne peut pas se connecter à des objets Catalogue.Support for Catalog objects - Power BI cannot connect to Catalog objects.
  • Modification de variables après publication : il n’est pas possible de modifier les valeurs des variables HANA directement dans le service Power BI une fois le rapport publié.Change to Variables after publish - You cannot change the values for any HANA variables directly in the Power BI service, after the report is published.

Problèmes connusKnown issues

La liste suivante décrit tous les problèmes connus qui peuvent survenir en cas de connexion à SAP HANA (DirectQuery) avec Power BI.The following list describes all known issues when connecting to SAP HANA (DirectQuery) using Power BI.

  • Problème HANA en cas de requête sur des Compteurs et d’autres mesures : HANA retourne des données incorrectes si la connexion à une vue d’analyse, à une mesure de type compteur et à d’autres mesures de taux sont incluses dans le même visuel.HANA issue when query for Counters, and other measures - Incorrect data is returned from HANA if connecting to an Analytical View, and a Counter measure and some other ratio measure, are included in the same visual. Ce problème est couvert par la Remarque 2128928 SAP (Résultats inattendus en cas de requête sur une Colonne calculée et un Compteur).This is covered by SAP Note 2128928 (Unexpected results when query a Calculated Column and a Counter. La mesure du taux sera alors incorrecte.The ratio measure will be incorrect in this case.

  • Plusieurs colonnes Power BI à partir d’une seule colonne HANA : dans le cas des vues de calcul où une colonne HANA est utilisée dans plusieurs hiérarchies, HANA les expose sous la forme de deux attributs distincts.Multiple Power BI columns from single HANA column - For some calculation views, where a HANA column is used in more than one hierarchy, HANA exposes this as two separate attributes. Par conséquent, deux colonnes sont créées dans Power BI.This results in two columns being created in Power BI. Elles sont toutefois masquées par défaut, et toutes les requêtes impliquant les hiérarchies, ou directement les colonnes, se comportent correctement.Those columns are hidden by default, however, and all queries involving the hierarchies, or the columns directly, behave correctly.

Étapes suivantesNext steps

Pour plus d’informations sur DirectQuery, consultez les ressources suivantes :For more information about DirectQuery, check out the following resources: