DirectQuery und SAP HANADirectQuery and SAP HANA

Sie können sich mit SAP HANA-Datenquellen direkt über DirectQuery verbinden.‎You can connect to SAP HANA data sources directly using DirectQuery. Beim Verbinden mit HANA stehen zwei Optionen zur Verfügung:There are two options when connecting to HANA:

  • Treat HANA as a multi dimensional source (default) (HANA als mehrdimensionale Quelle behandeln (Standard)): Diese Option befindet sich derzeit in der Vorschauversion und ist die neue Standardeinstellung.Treat HANA as a multi dimensional source (default): Currently in preview, and the new default setting. Bei Auswahl dieser Option ist das Verhalten mit dem vergleichbar, das bei einer Verbindung von Power BI mit anderen mehrdimensionalen Quellen wie SAP Business Warehouse oder Analysis Services besteht.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. Wenn mit dieser Einstellung eine Verbindung mit HANA hergestellt wird, wird eine analytische Ansicht oder Berechnungsansicht ausgewählt. Alle Measures, Hierarchien und Attribute dieser Ansicht sind in diesem Fall in der Feldliste verfügbar.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. Beim Erstellen von Visuals werden die Aggregatdaten immer von HANA abgerufen.As visuals are created, the aggregate data will always retrieved from HANA. Diese Vorgehensweise ist der Standardfall und wird empfohlen.This is the normal, recommended approach.

  • HANA als relationale Quelle behandeln: Mit dieser Option behandelt Power BI HANA als relationale Quelle.Treat HANA as a relational source: In this case, Power BI treats HANA as a relational source. Diese Vorgehensweise bietet mehr Flexibilität. Es muss jedoch darauf geachtet werden, dass Measures wie erwartet aggregiert und Leistungsprobleme vermieden werden.This offers greater flexibility, but care must be taken to ensure that measures are aggregated as expected, and to avoid performance issues.

Die Verbindungsmethode können Sie durch eine globale Tooloption festlegen. Rufen Sie dazu Datei > Optionen und Einstellungen und anschließend Optionen > DirectQuery auf. Klicken Sie dann wie in der folgenden Abbildung dargestellt auf das Kontrollkästchen neben HANA als relationale Quelle behandeln.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.

Beachten Sie, dass sich der SAP HANA-Connector derzeit in der Vorschauversion befindet und aktiviert werden muss, bevor die oben genannte Option angezeigt wird.Note that the SAP HANA connector is currently in Preview, and must be enabled before the option mentioned previously will be visible. Wenn Sie das neue SAP HANA-Vorschaufeature aktivieren möchten, wählen Sie sie wie in der Abbildung unten gezeigt unter Optionen > Vorschaufeatures aus.To enable the new SAP HANA preview experience, select it under Options > Preview features, as shown in the following image.

Nachdem Sie angegeben haben, dass HANA als relationale Quelle behandelt werden soll, wird diese Option auf alle neu erstellten Verbindungen angewendet.The option to treat HANA as a relational source controls the approach used for any new connections created. Sie hat weder Auswirkungen auf vorhandene HANA-Verbindungen im aktuellen Bericht noch auf Verbindungen in anderen Berichten, die geöffnet werden.It has no effect on any existing HANA connections in the current report, nor on connections in any other reports that are opened. Wenn die Option nicht aktiviert ist, wird beim Herstellen einer neuen Verbindung mit HANA über Daten abrufen HANA als mehrdimensionale Datenquelle für die Verbindung verwendet.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. Wenn jedoch ein anderer Bericht geöffnet wird, der ebenfalls eine Verbindung mit HANA herstellt, wird sich das Verhalten dieses Berichts an der Option orientieren, die zum Zeitpunkt der Erstellung festgelegt wurde.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. Dies bedeutet, dass alle Berichte, die eine Verbindung mit HANA herstellen und vor Februar 2018 erstellt wurden, HANA weiterhin als relationale Quelle behandeln.This means that any reports connecting to HANA that were created prior to February 2018 will continue to treat HANA as a relational source.

Die beiden Ansätze weisen unterschiedlichen Verhalten auf, weswegen es nicht möglich ist, für einen vorhandenen Bericht eine andere Vorgehensweise auszuwählen.The two approaches constitue very different behavior, and it's not possible to switch an existing report from one approach to the other.

Die beiden Ansätze werden im Folgenden genauer beschrieben.Let's look at more detail about each of these two approaches, in turn.

Treat HANA as a multi-dimensional source (default) (HANA als mehrdimensionale Quelle behandeln (Standard))Treat HANA as a multi-dimensional source (default)

Hierbei handelt es sich um das Standardverhalten, das sich im Moment noch in der Vorschauversion befindet.This is the default behavior, and is currently in Preview. Führen Sie zum Aktivieren des Vorschaufeatures die Schritte im vorherigen Abschnitt aus.To enable this preview feature, follow the steps described in the previous section to enable the preview option.

Nachdem das Vorschaufeature unter Optionen > Vorschaufeatures aktiviert wurde (siehe Abschnitt oben), wird diese Verbindungsmethode standardmäßig für alle neuen Verbindungen mit HANA verwendet, wodurch HANA als mehrdimensionale Quelle verwendet wird.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. Wenn HANA als relationale Datenquelle behandelt werden soll, sind folgende Schritte notwendig: Rufen Sie zuerst Datei > Optionen und Einstellungen auf, und aktivieren Sie anschließend unter DirectQuery das Kontrollkästchen neben „HANA als relationale Quelle behandeln“.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. Obwohl dieses Feature in der Vorschauversion verfügbar ist, können Berichte, die mit dem mehrdimensionalen Ansatz erstellt wurden, nicht im Power BI-Dienst veröffentlicht werden. Wenn das Feature dennoch verwendet wird, führt dies beim Öffnen des Berichts im Power BI-Dienst zu Fehlern.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.

Wenn HANA bei einer Verbindung als mehrdimensionale Datenquelle behandelt wird, ist Folgendes zu beachten:When connecting to HANA as a multi-dimensional source, the following applies:

  • Im Navigator Daten abrufen kann eine einzelne HANA-Ansicht ausgewählt werden.In the Get Data Navigator, a single HANA view can be selected. Individuelle Measures oder Attribute lassen sich nicht auswählen.It is not possible to select individual measures or attributes. Bei der Verbindungsherstellung wird im Gegensatz zum Datenimport keine Abfrage definiert. Dasselbe gilt, wenn DirectQuery zum Behandeln von HANA als relationale Datenquelle verwendet wird.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. Dies hat außerdem zur Folge, dass bei Auswahl dieser Verbindungsmethode eine HANA SQL-Abfrage nicht direkt ausgeführt werden kann.This also means that it's not possible to directly use a HANA SQL query when selecting this connection method.

  • Alle Measures, Hierarchien und Attribute der ausgewählten Ansicht werden in der Feldliste angezeigt.All the measures, hierarchies and attributes of the selected view will be displayed in the field list.

  • Wenn ein Measure in einem Visual verwendet wird, wird HANA abgefragt und ruft dabei den Measurewert auf der Ebene der Aggregation ab, die für das Visual erforderlich ist.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. Daher werden bei nicht additiven Measures (Zählern, Verhältnissen usw.) alle Aggregationen von HANA ausgeführt, während Power BI keine weitere Aggregation vornimmt.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.

  • Damit von HANA die richtigen Aggregatwerte abgerufen werden, müssen bestimmte Einschränkungen festgelegt werden.To ensure the correct aggregate values can always be obtained from HANA, certain restrictions must be imposed. Beispielsweise ist es nicht möglich, berechnete Spalten hinzuzufügen oder Daten aus mehreren HANA-Ansichten innerhalb desselben Berichts zu kombinieren.For example, it's not possible to add calculated columns, or to combine data from multiple HANA views within the same report.

Der Ansatz, HANA als mehrdimensionale Quelle zu behandeln, ist im Gegensatz zur relationalen Methode weniger flexibel. Er ist jedoch einfacher, garantiert bei komplexeren HANA-Measures korrekte Aggregatwerte und führt allgemein zu einer höheren Leistung.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.

Die Liste Fields (Felder) umfasst alle Measures, Attribute und Hierarchien der HANA-Ansicht.The Field list will include all measures, attributes and hierarchies from the HANA view. Beachten Sie, dass bei dieser Verbindungsmethode folgende Verhalten auftreten:Note the folloiwing behaviors that apply when using this connection method:

  • Alle Attribute, die in mindestens einer Hierarchie enthalten sind, werden standardmäßig ausgeblendet.Any attribute that is included in at least one hierarchy will be hidden by default. Sie können sie sich allerdings bei Bedarf anzeigen lassen, indem Sie aus dem Kontextmenü der Feldliste den Eintrag Ausgeblendete anzeigen auswählen.However, they can be seen if required by selecting View hidden from the context menu on the field list. Über dasselbe Kontextmenü lässt sich ggf. der Sichtbarkeitsstatus ändern.From the same context menu they can be made visible, if required.

  • In HANA kann ein Attribut so definiert werden, dass ein anderes Attribut als dessen Bezeichnung verwendet wird.In HANA, an attribute can be defined to use another attribute as its label. Beispielsweise könnte ein Feld Produkt (mit den Werten 1, 2, 3 usw.) die Bezeichnung Produktname (mit den Werten „Fahrrad“, „Shirt“, „Handschuhe“ etc.) verwenden.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. In diesem Fall wird das Feld Produkt in der Feldliste angezeigt, deren Werte die Bezeichnungen „Fahrrad“, „Shirt“, „Handschuhe“ usw. sind. Die Bezeichnungen werden allerdings über die eindeutigen Schlüsselwerte 1, 2 und 3 identifiziert und nach diesen sortiert.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. Außerdem wird die ausgeblendete Spalte Produkt.Schlüssel erstellt, über die bei Bedarf auf die entsprechenden Schlüsselwerte zugegriffen werden kann.A hidden column Product.Key is also created, allowing access to the underlying key values if required.

Alle in der zugrunde liegenden HANA-Quelle definierten Variablen werden zum Verbindungszeitpunkt angezeigt. Dabei können die erforderlichen Werte eingegeben werden können.Any variables defined in the underlying HANA are be displayed at the time of connecting, and the necessary values can be entered. Sie können diese Werte später ändern, indem Sie im Menüband auf Abfragen bearbeiten klicken und anschließend aus dem Dropdownmenü den Eintrag Variablen bearbeiten auswählen.Those values can subsequently be changed by selecting Edit Queries from the ribbon, and then Edit Variables from the drop down menu displayed.

Die zulässigen Modellierungsvorgänge sind restriktiver als bei der Verwendung von DirectQuery, da sichergestellt werden muss, dass die richtigen Aggregatdaten von HANA abgerufen werden können.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. Allerdings ist es weiterhin möglich, viele Ergänzungen und Änderungen vorzunehmen und beispielsweise Measures zu definieren, Felder umzubenennen und auszublenden sowie Anzeigeformate zu definieren.However, it's still possible to make many additions and changes, including defining measures, renaming and hiding fields, and defining display formats. Alle Änderungen werden bei einer Aktualisierung beibehalten. Außerdem werden alle an der HANA-Ansicht vorgenommenen Änderungen, die zu keinen Konflikten führen, übernommen.All such changes will be preserved on refresh, and any non conflicting changes made to the HANA view will be applied.

Zusätzliche ModellierungseinschränkungenAdditional Modelling Restrictions

Wenn über DirectQuery eine Verbindung mit SAP HANA hergestellt und SAP HANA als mehrdimensionale Quelle verwendet wird, sind v.a. die folgenden zusätzlichen Modellierungseinschränkungen zu berücksichtigen:The primary additional modeling restrictions when connecting to SAP HANA using DirectQuery (treat as multi-dimensional source) are the following:

  • Keine Unterstützung für berechnete Spalten: Das Erstellen von berechneten Spalten ist deaktiviert.No support for calculated columns: The ability to create calculated columns is disabled. Dies bedeutet zudem, dass Gruppierung und Clustering, mit denen berechnete Spalten erstellt werden, nicht zur Verfügung stehen.This also means that Grouping and Clustering, which create calculated columns, are not available.
  • Zusätzliche Einschränkungen für Measures: Für DAX-Ausdrücke, die in Measures verwendet werden können, gelten zusätzliche Einschränkungen, damit die von SAP HANA bereitgestellte Unterstützung übernommen wird.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.
  • Keine Unterstützung für das Definieren von Beziehungen: Innerhalb eines Berichts können nur über eine einzelne Ansicht Abfragen gestellt werden. Daher können auch keine Beziehungen definiert werden.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.
  • Keine Datenansicht: Die Datenansicht zeigt in der Tabelle normalerweise Daten auf Detailebene an.No Data View: The Data View normally displays the detail level data in the tables. Aufgrund der Eigenschaften von OLAP-Quellen wie SAP HANA ist diese Ansicht in SAP HANA nicht verfügbar.Given the nature of OLAP sources such as SAP HANA, this view is not available over SAP HANA.
  • Details von Spalten und Measures sind unveränderlich: Die in der Feldliste anzeigte Listen von Spalten und Measures sind in der zugrunde liegenden Quelle festgelegt und können nicht verändert werden.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. Es ist z.B. nicht möglich, eine Spalte oder deren Datentyp zu löschen. Sie können sie allerdings umbenennen.For example, it's not possible to delete a column, nor change its datatype (it can, however, be renamed).
  • Zusätzliche Einschränkungen in DAX: Es gibt zusätzliche Einschränkungen für DAX, die in Measuredefinitionen verwendet wird, damit die Einschränkungen in der Quelle übernommen werden.Additional limitations in DAX: There are additional limitations on the DAX that can be used in measure definitions, to reflect limitations in the source. Es ist z.B. nicht möglich, eine Aggregatfunktion für eine Tabelle zu verwenden.For example, it's not possible to use an aggregate function over a table.

Zusätzliche VisualisierungseinschränkungenAdditional Visualization Restrictions

Wenn über DirectQuery eine Verbindung mit SAP HANA hergestellt und SAP HANA als mehrdimensionale Quelle verwendet wird, sind einige Einschränkungen bei Visuals zu beachten:There are a few restrictions in visuals when connecting to SAP HANA using DirectQuery (treat as multi-dimensional source):

  • Keine Spaltenaggregation: Es ist nicht möglich, die Aggregation einer Spalte in einem Visual zu ändern. Sie verfügt immer über den Status Nicht zusammenfassen.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.

HANA als relationale Quelle behandelnTreat HANA as a relational source

Wenn eine Verbindung mit HANA als relationale Datenquelle hergestellt wird, lassen sich erweiterte Funktionen nutzen.When choosing to connect to HANA as a relational source, some additional flexibility becomes available. Sie können z.B. berechnete Spalten erstellen, Daten aus mehreren HANA-Ansichten einbeziehen und Beziehungen zwischen Tabellen erstellen.For example, you can create calculated columns, include data from multiple HANA views, and create relationships between the resulting tables. Wenn Sie SAP HANA auf diese Weise nutzen möchten, sollten Sie jedoch bestimmte Verbindungsaspekte berücksichtigen, um sicherzustellen, dassHowever, when using SAP HANA in this manner, it's important to understand certain aspects of how connections are treated, to ensure the following:

  • die Ergebnisse richtig sind, wenn die SAP HANA-Ansicht nicht additive Measures (z.B. Distinct Count Measures oder Mittelwerte statt einfache Summen) enthält undThe results are as expected, when the SAP HANA view contains non-additive measures (for example, distinct counts, or averages, rather than simple sums).
  • Die resultierenden Abfragen besonders effizient sindThe resulting queries are efficient

Es ist zunächst sinnvoll, sich mit dem Verhalten einer relationalen Quelle wie SQL Server zu befassen, wenn die Abfrage, die in Daten abrufen oder im Abfrage-Editor festgelegt ist, eine Aggregation ausführt.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. Im folgenden Beispiel gibt eine im Abfrage-Editor definierte Abfrage den Durchschnittspreis anhand der ProductID zurück.In the example that follows, a query defined in Query Editor returns the average price by ProductID.

Wenn die Daten in Power BI importiert werden (im Vergleich zur Verwendung von DirectQuery), würde sich das Folgende ergeben:If the data is being imported into Power BI (versus using DirectQuery), the following would result:

  • Die Daten werden auf der Ebene der Aggregation importiert, die von der im Abfrage-Editor erstellten Abfrage definiert ist.The data is imported at the level of aggregation defined by the query created in Query Editor. Beispielsweise der Durchschnittspreis nach Produkt.For example, average price by product. Dies führt zu einer Tabelle mit den beiden Spalten ProductID und AveragePrice, die in visuellen Elementen verwendet werden können.This results in a table with the two columns ProductID and AveragePrice that can be used in visuals.
  • In einem visuellen Element erfolgt jede nachträgliche Aggregation (z.B. Summe, Durchschnitt, Min, oder andere) über die importierten Daten.In a visual, any subsequent aggregation (such as Sum, Average, Min, others) is performed over that imported data. Wenn Sie beispielsweise AveragePrice aus einem Visual einbeziehen, wird das Aggregat Sum standardmäßig verwendet. So würde die Summe über den AveragePrice-Wert jeder ProductID zurückgegeben werden. In diesem Beispiel würde sie 13,67 betragen.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. Das gleiche gilt für andere Aggregatfunktionen (z.B. Min, Average, usw.), die in dem visuellen Element verwendet werden.The same applies to any alternative aggregate function (such as Min, Average, so on) used on the visual. Average von AveragePrice gibt z.B. den Durchschnitt von 6,66, 4 und 3 zurück, was 4,56 ergibt, und nicht den Durchschnitt von Price in den sechs Datensätzen in der zugrunde liegenden Tabelle, was 5,17 ergibt.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.

Wenn für dieselbe relationale Quelle DirectQuery anstelle der Option „Import“ (Importieren) verwendet wird, ist die gleiche Semantik anzuwenden, und die Ergebnisse wären identisch: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:

  • Bei der gleichen Abfrage werden logisch genau die gleichen Daten der Berichtsebene angezeigt – obwohl die Daten tatsächlich nicht importiert werden.Given the same query, logically exactly the same data is presented to the reporting layer – even though the data is not actually imported.

  • In einem visuellen Element werden alle nachfolgenden Aggregationen (Summe, Durchschnitt, Min, andere) erneut über diese logische Tabelle aus der Abfrage ausgeführt.In a visual, any subsequent aggregation (Sum, Average, Min, others) is again performed over that logical table from the query. Und wieder gibt ein visuelles Element, das Average von AveragePrice enthält, das gleiche Ergebnis zurück, nämlich 4,56.And again, a visual containing Average of AveragePrice returns the same 4.56.

Nun wird SAP HANA vor dem Hintergrund einer relationalen Verbindungsquelle betrachtet.Now let's consider SAP HANA, when the connection is treated as a relational source. Power BI funktioniert mit analytischen Ansichten und Berechnungsansichten in SAP HANA, die beide Measures enthalten können.Power BI can work with both Analytic Views and Calculation Views in SAP HANA, both of which can contain measures. Mittlerweile folgt der Ansatz für SAP HANA aber denselben Prinzipien, die weiter oben beschrieben wurden: Die Abfrage, die in Daten abrufen oder im Abfrage-Editor definiert wird, legt fest, welche Daten verfügbar sind, und anschließend werden alle nachfolgenden Aggregationen in einem Visual für diese Daten ausgeführt. Das Gleiche gilt sowohl für die Option „Import“ (Importieren) als auch für 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.
Angesichts der Beschaffenheit von HANA ist die im ersten Dialogfeld Daten abrufen oder im Abfrage-Editor definierte Abfrage immer eine Aggregatabfrage und enthält in der Regel Measures, bei denen die tatsächliche Aggregation, die verwendet wird, durch die HANA-Ansicht definiert ist.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.

Die Entsprechung des SQL-Servers im oben angeführten Beispiel ist, dass eine HANA-Sicht vorhanden ist, die ID, ProductID, DepotID, und Measures, einschließlich Durchschnittspreis enthält, was in der Ansicht als Durchschnittspreis definiert ist.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.

Wenn unter Daten abrufen die Auswahl für die Measures ProductID und AveragePrice getroffen wurde, wird dadurch eine Abfrage über die Ansicht definiert, die die Aggregatdaten anfordert (im oben stehenden Beispiel wird der Einfachheit halber Pseudo-SQL verwendet, das nicht genau der Syntax von HANA SQL entspricht).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). Dann aggregieren alle weiteren Aggregationen, die in einem visuellen Element definiert sind, die Ergebnisse für eine solche Abfrage weiter.Then any further aggregations defined in a visual are further aggregating the results of such a query. Wie oben bereits für SQL Server beschrieben, gilt dies sowohl für die Option „Import“ (Importieren) als auch für DirectQuery.Again, as described above for SQL Server, this applies both for the Import and DirectQuery case. Beachten Sie, dass im DirectQuery-Fall die Abfrage von Daten abrufen oder vom Abfrage-Editor in einer untergeordneten SELECT-Anweisung innerhalb einer einzelnen Abfrage verwendet wird, die an HANA gesendet wird. Daher handelt es sich nicht tatsächlich um den Fall, in dem alle Daten vor dem weiteren Aggregieren gelesen werden.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.

Wenn DirectQuery für HANA verwendet wird, müssen daher die folgenden Überlegungen und Verhalten beachtet werden:All of these considerations and behaviors necessitate the following important considerations when using DirectQuery over HANA:

  • Berücksichtigt werden müssen alle weiteren Aggregationen, die in Visuals ausgeführt werden, wenn das Measure in HANA nicht additiv ist (z.B. keine einfache Summe, Min, oder Max).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).

  • In Daten abrufen oder im Abfrage-Editor werden nur die erforderlichen Spalten einbezogen, um die erforderlichen Daten abzurufen, was widerspiegelt, dass das Ergebnis eine Abfrage sein wird, die eine sinnvolle Abfrage sein muss, die an HANA gesendet werden kann.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. Wenn z.B. Dutzende von Spalten ausgewählt wurden, um herauszufinden, ob sie möglicherweise in nachfolgenden visuellen Elementen benötigt werden, dann bedeutet ein einfaches visuelles Element selbst für DirectQuery, dass die Aggregatabfrage, die in der Unterauswahl verwendet wurde, diese Dutzenden Spalten enthält, was allgemein zu keiner guten Leistung führt.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.

Betrachten wir dazu ein Beispiel.Let's look at an example. Wenn Sie im folgenden Beispiel fünf Spalten (CalendarQuarter, Color, LastName, ProductLine, SalesOrderNumber) im Dialogfeld Daten abrufen zusammen mit dem Measure OrderQuantity auswählen, bedeutet dies, dass später die Erstellung eines einfachen Visuals, das die Mindestbestellmenge (OrderQuantity) enthält, zu der folgenden SQL-Abfrage an HANA führt.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. Der schattierte Bereich ist die untergeordnete SELECT-Anweisung, die die Abfrage von Daten abrufen / Abfrage-Editor enthält.The shaded is the subselect, containing the query from Get Data / Query Editor. Wenn diese untergeordnete SELECT-Anweisung ein sehr hohes Kardinalitätsergebnis ergibt, ist es wahrscheinlich, dass die resultierende HANA-Leistung schlechter sein wird.If this subselect gives a very high cardinality result, then the resulting HANA performance will likely be poor.

Aufgrund dieses Verhaltens wird empfohlen, dass die Elemente, die in Daten abrufen oder im Abfrage-Editor ausgewählt werden, auf die erforderlichen Elemente beschränkt werden, solange sie weiterhin in einer sinnvollen Abfrage für HANA resultieren.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.

Best PracticesBest Practices

Die Nutzungsempfehlungen für DirectQuery gelten auch für beide Ansätze zum Herstellen einer Verbindung mit SAP HANA. Dies ist insbesondere für die Best Practices der Fall, die eine zufriedenstellende Leistung garantieren sollen.For both approaches to connecting to SAP HANA, recommendations for using DirectQuery also apply to HANA, particularly those related to ensuring good performance. Diese Empfehlungen werden ausführlich im Artikel Verwenden von DirectQuery mit Power BI beschrieben.These recommendations are described in detail in the article using DirectQuery in Power BI.

EinschränkungenLimitations

In der folgenden Liste werden alle Features von SAP HANA aufgelistet, die nicht vollständig unterstützt werden oder sich mit Power BI anders verhalten.The following list describes all SAP HANA features that are not fully supported, or features that behave differently when using Power BI.

  • Über-/untergeordnete Hierarchien: Diese werden in Power BI nicht angezeigt.Parent Child Hierarchies - Parent child hierarchies will not be visible in Power BI. Dies liegt daran, dass Power BI über die SQL-Schnittstelle auf HANA zugreift. Mit SQL ist ein vollständiger Zugriff auf über-/untergeordnete Hierarchien jedoch nicht möglich.This is because Power BI accesses HANA using the SQL interface, and parent child hierarchies cannot be fully accessed via SQL.
  • Andere Hierarchiemetadaten: Die grundlegende Struktur von Hierarchien wird in Power BI angezeigt. Einige Hierarchiemetadaten (z.B. die Steuerung des Verhaltens unregelmäßiger Hierarchien) haben jedoch keine Auswirkung.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. Auch dies ist auf die Einschränkungen zurückzuführen, die die SQL-Schnittstelle mit sich bringt.Again, this is due to the limitations imposed by the SQL interface.
  • Verbindung über SSL: Sie könne keine Verbindung mit SAP HANA-Instanzen herstellen, die für die Nutzung von SSL konfiguriert wurden.Connection using SSL - You cannot connect to SAP HANA instances configured to use SSL. Unterstützung für Attributansichten: Power BI kann eine Verbindung mit analytischen Ansichten und Berechnungsansichten herstellen. Eine direkte Verbindung mit Attributansichten ist hingegen nicht möglich.Support for Attribute views Power BI can connect to Analytic and Calculation views, but cannot connect directly to Attribute views.
  • Unterstützung für Katalogobjekte: Power BI kann keine Verbindung mit Katalogobjekten herstellen.Support for Catalog objects - Power BI cannot connect to Catalog objects.
  • Änderungen an Variablen nach der Veröffentlichung: Nachdem der Bericht veröffentlicht wurde, können Sie die Werte der HANA-Variablen nicht mehr direkt im Power BI-Dienst ändern.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.

Bekannte ProblemeKnown issues

In der folgenden Liste werden alle bekannten Probleme beschrieben, die beim Herstellen einer Verbindung mit SAP HANA (DirectQuery) über Power BI auftreten.The following list describes all known issues when connecting to SAP HANA (DirectQuery) using Power BI.

  • Problem mit HANA bei Abfragen für Zähler und andere Measures: Falsche Daten werden von HANA zurückgegeben, wenn eine Verbindung mit einer analytischen Ansicht hergestellt wird und ein Zählermeasure sowie ein weiteres Verhältnismeasure in demselben Visual enthalten sind.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. Dieses Problem wird im SAP-Hinweis 2128928 (Unerwartete Ergebnisse beim Abfragen einer berechnete Spalte und eines Zählers) beschrieben.This is covered by SAP Note 2128928 (Unexpected results when query a Calculated Column and a Counter. In diesem Fall ist das Verhältnismeasure falsch.The ratio measure will be incorrect in this case.

  • Erstellung mehrerer Power BI-Spalten aus einer HANA-Spalte: Bei einigen Berechnungsansichten, in denen eine HANA-Spalte in mehreren Hierarchien verwendet wird, stellt HANA zwei eigenständige Attribute bereit.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. Dies führt dazu, dass zwei Spalten in Power BI erstellt werden.This results in two columns being created in Power BI. Diese werden allerdings standardmäßig ausgeblendet, und alle Abfragen im Zusammenhang mit Hierarchien oder Spalten verhalten sich korrekt.Those columns are hidden by default, however, and all queries involving the hierarchies, or the columns directly, behave correctly.

Nächste SchritteNext steps

Weitere Informationen zu DirectQuery finden Sie in den folgenden Ressourcen:For more information about DirectQuery, check out the following resources: