Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zusammenfassung
Gegenstand | BESCHREIBUNG |
---|---|
Freigabezustand | Allgemeine Verfügbarkeit |
Produkte | Excel Power BI (Semantikmodelle) Power BI (Datenflüsse) Fabric (Dataflow Gen2) Power Apps (Dataflows) Analyse-Services |
Unterstützte Authentifizierungstypen | Grundlegend Datenbank Fenster |
Funktionsreferenzdokumentation | SapHana.Database |
Hinweis
Einige Funktionen sind möglicherweise in einem Produkt vorhanden, jedoch nicht in anderen, was auf Bereitstellungszeitpläne und hostspezifische Funktionen zurückzuführen ist.
Voraussetzungen
Sie benötigen ein SAP-Konto, um sich bei der Website anzumelden und die Treiber herunterzuladen. Wenn Sie nicht sicher sind, wenden Sie sich an den SAP-Administrator in Ihrer Organisation.
Um SAP HANA in Power BI Desktop oder Excel zu verwenden, müssen Sie den SAP HANA ODBC-Treiber auf dem lokalen Clientcomputer installiert haben, damit die SAP HANA-Datenverbindung ordnungsgemäß funktioniert. Sie können die SAP HANA-Clienttools von SAP Development Tools herunterladen, die den erforderlichen ODBC-Treiber enthalten. Sie können es auch aus dem SAP Software Download Center abrufen. Suchen Sie im Softwareportal nach dem SAP HANA CLIENT für Windows-Computer. Da das SAP Software Download Center seine Struktur häufig ändert, sind spezifischere Anleitungen für die Navigation auf dieser Website nicht verfügbar. Anweisungen zum Installieren des SAP HANA ODBC-Treibers finden Sie unter Installieren des SAP HANA ODBC-Treibers unter Windows 64-Bits.
Um SAP HANA in Excel zu verwenden, müssen Sie entweder den 32-Bit- oder 64-Bit-SAP HANA ODBC-Treiber (je nachdem, ob Sie die 32-Bit- oder 64-Bit-Version von Excel verwenden) auf dem lokalen Clientcomputer installiert haben.
Dieses Feature ist nur in Excel für Windows verfügbar, wenn Sie über Office 2019 oder ein Microsoft 365-Abonnement verfügen. Wenn Sie Microsoft 365-Abonnent sind, stellen Sie sicher, dass Sie über die neueste Version von Office verfügen.
HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 und BW/4HANA 2.0 wird unterstützt.
Unterstützte Funktionen
- Importieren
- Direct Query (Power BI-Semantikmodelle)
- Erweitert
- SQL-Anweisung
Herstellen einer Verbindung mit einer SAP HANA-Datenbank über Power Query Desktop
So stellen Sie eine Verbindung mit einer SAP HANA-Datenbank über Power Query Desktop her:
Wählen Sie im Menüband "Daten" in Excel die Option "Daten > SAP HANA-Datenbank abrufen" in Power BI Desktop oder "From Database > From SAP HANA Database" aus.
Geben Sie den Namen und den Port des SAP HANA-Servers ein, mit dem Sie eine Verbindung herstellen möchten. Das Beispiel in der folgenden Abbildung verwendet
SAPHANATestServer
am Port30015
.Standardmäßig ist die Portnummer so festgelegt, dass eine einzelne Containerdatenbank unterstützt wird. Wenn Ihre SAP HANA-Datenbank mehr als einen Mehrinstanzendatenbankcontainer enthalten kann, wählen Sie die Multicontainer-Systemdatenbank (30013) aus. Wenn Sie eine Verbindung mit einer Mandantendatenbank oder einer Datenbank mit einer nicht standardmäßigen Instanznummer herstellen möchten, wählen Sie im Dropdownmenü "Port" die Option "Benutzerdefiniert" aus.
Wenn Sie eine Verbindung mit einer SAP HANA-Datenbank von Power BI Desktop herstellen, haben Sie auch die Möglichkeit, entweder Importieren oder DirectQuery auszuwählen. Im Beispiel in diesem Artikel wird "Importieren" verwendet. Dies ist der Standardwert (und der einzige Modus für Excel). Weitere Informationen zum Herstellen einer Verbindung mit der Datenbank mithilfe von DirectQuery in Power BI Desktop finden Sie unter Verbinden mit SAP HANA-Datenquellen mithilfe von DirectQuery in Power BI.
Sie können auch eine SQL-Anweisung eingeben oder die Spaltenbindung über erweiterte Optionen aktivieren. Weitere Informationen, Verbinden mit erweiterten Optionen
Nachdem Sie alle Ihre Optionen eingegeben haben, wählen Sie "OK" aus.
Wenn Sie zum ersten Mal auf eine Datenbank zugreifen, werden Sie aufgefordert, Ihre Anmeldeinformationen für die Authentifizierung einzugeben. In diesem Beispiel erfordert der SAP HANA-Server Datenbankbenutzeranmeldeinformationen. Wählen Sie daher "Datenbank" aus, und geben Sie Ihren Benutzernamen und Ihr Kennwort ein. Geben Sie bei Bedarf Die Serverzertifikatinformationen ein.
Außerdem müssen Sie möglicherweise das Serverzertifikat überprüfen. Weitere Informationen zur Verwendung der Überprüfung von Serverzertifikatauswahlen finden Sie unter Verwenden der SAP HANA-Verschlüsselung. In Power BI Desktop und Excel ist die Überprüfung der Serverzertifikatauswahl standardmäßig aktiviert. Wenn Sie diese Auswahl bereits im ODBC-Datenquellenadministrator eingerichtet haben, deaktivieren Sie das Kontrollkästchen "Serverzertifikat überprüfen" . Weitere Informationen zur Verwendung des ODBC-Datenquellenadministrators zum Einrichten dieser Auswahl finden Sie unter Konfigurieren von SSL für den ODBC-Clientzugriff auf SAP HANA.
Weitere Informationen zur Authentifizierung finden Sie unter Authentifizierung mit einer Datenquelle.
Nachdem Sie alle erforderlichen Informationen ausgefüllt haben, wählen Sie "Verbinden" aus.
Im Dialogfeld "Navigator " können Sie die Daten entweder im Power Query-Editor transformieren, indem Sie "Daten transformieren" auswählen oder die Daten laden, indem Sie "Laden" auswählen.
Herstellen einer Verbindung mit einer SAP HANA-Datenbank aus Power Query Online
So stellen Sie eine Verbindung mit SAP HANA-Daten aus Power Query Online her:
Wählen Sie auf der Seite "Datenquellen " die SAP HANA-Datenbank aus.
Geben Sie den Namen und den Port des SAP HANA-Servers ein, mit dem Sie eine Verbindung herstellen möchten. Das Beispiel in der folgenden Abbildung verwendet
SAPHANATestServer
am Port30015
.Geben Sie optional eine SQL-Anweisung aus erweiterten Optionen ein. Weitere Informationen, Verbinden mit erweiterten Optionen
Wählen Sie den Namen des lokalen Datengateways aus, das für den Zugriff auf die Datenbank verwendet werden soll.
Hinweis
Sie müssen ein lokales Datengateway mit diesem Connector verwenden, unabhängig davon, ob Ihre Daten lokal oder online sind.
Wählen Sie die Authentifizierungsart aus, die Sie für den Zugriff auf Ihre Daten verwenden möchten. Sie müssen auch einen Benutzernamen und ein Kennwort eingeben.
Hinweis
Derzeit unterstützt Power Query Online nur die Standardauthentifizierung.
Wählen Sie "Verschlüsselte Verbindung verwenden " aus, wenn Sie eine verschlüsselte Verbindung verwenden, und wählen Sie dann den SSL-Kryptoanbieter aus. Wenn Sie keine verschlüsselte Verbindung verwenden, deaktivieren Sie "Verschlüsselte Verbindung verwenden". Weitere Informationen: Aktivieren der Verschlüsselung für SAP HANA
Klicken Sie auf Weiter, um fortzufahren.
Im Dialogfeld "Navigator " können Sie die Daten entweder im Power Query-Editor transformieren, indem Sie "Daten transformieren" auswählen oder die Daten laden, indem Sie "Laden" auswählen.
Verbinden mithilfe erweiterter Optionen
Power Query bietet bei Bedarf eine Reihe erweiterter Optionen, die Sie Ihrer Abfrage hinzufügen können.
In der folgenden Tabelle werden alle erweiterten Optionen beschrieben, die Sie in Power Query festlegen können.
Erweiterte Option | BESCHREIBUNG |
---|---|
SQL-Anweisung | Weitere Informationen, Importieren von Daten aus einer Datenbank mithilfe einer systemeigenen Datenbankabfrage |
Aktivieren der Spaltenbindung | Bindet Variablen an die Spalten eines SAP HANA-Resultsets beim Abrufen von Daten. Kann die Leistung möglicherweise zu den Kosten einer etwas höheren Speicherauslastung verbessern. Diese Option ist nur in Power Query Desktop verfügbar. Weitere Informationen: Aktivieren der Spaltenbindung |
ConnectionTimeout | Eine Dauer, die steuert, wie lange gewartet werden soll, bevor der Versuch abgebrochen wird, eine Verbindung mit dem Server herzustellen. Der Standardwert ist 15 Sekunden. |
CommandTimeout | Eine Dauer, die steuert, wie lange die serverseitige Abfrage ausgeführt werden darf, bevor sie abgebrochen wird. Der Standardwert ist zehn Minuten. |
Unterstützte Features für SAP HANA
Die folgende Liste zeigt die unterstützten Features für SAP HANA. Nicht alle hier aufgeführten Features werden in allen Implementierungen des SAP HANA-Datenbankconnectors unterstützt.
Sowohl der Power BI Desktop- als auch der Excel-Connector für eine SAP HANA-Datenbank verwenden den SAP ODBC-Treiber, um eine optimale Benutzererfahrung zu erzielen.
In Power BI Desktop unterstützt SAP HANA sowohl DirectQuery- als auch Importoptionen.
Power BI Desktop unterstützt HANA-Informationsmodelle wie Analyse- und Berechnungsansichten und bietet eine optimierte Navigation.
Mit SAP HANA können Sie auch SQL-Befehle in der sql-Anweisung der systemeigenen Datenbankabfrage verwenden, um eine Verbindung mit Zeilen- und Spaltentabellen in HANA-Katalogtabellen herzustellen, die nicht in den Analyse-/Berechnungsansichten enthalten sind, die von der Navigator-Oberfläche bereitgestellt werden. Sie können auch den ODBC-Connector verwenden, um diese Tabellen abzufragen.
Power BI Desktop enthält optimierte Navigation für HANA-Modelle.
Power BI Desktop unterstützt SAP HANA-Variablen und Eingabeparameter.
Power BI Desktop unterstützt HDI-containerbasierte Berechnungsansichten.
Die SapHana.Database-Funktion unterstützt jetzt Verbindungs- und Befehlstimeouts. Weitere Informationen: Herstellen einer Verbindung mithilfe der erweiterten Optionen
Um auf Ihre HDI-containerbasierten Berechnungsansichten in Power BI zuzugreifen, stellen Sie sicher, dass die HANA-Datenbankbenutzer, die Sie mit Power BI verwenden, über die Berechtigung zum Zugriff auf den HDI-Laufzeitcontainer verfügen, der die Ansichten speichert, auf die Sie zugreifen möchten. Um diesen Zugriff zu gewähren, erstellen Sie eine Rolle, die den Zugriff auf Ihren HDI-Container ermöglicht. Weisen Sie dann die Rolle dem HANA-Datenbankbenutzer zu, den Sie mit Power BI verwenden. (Dieser Benutzer muss auch über die Berechtigung zum Lesen aus den Systemtabellen im _SYS_BI Schema verfügen, wie gewohnt.) Detaillierte Anweisungen zum Erstellen und Zuweisen von Datenbankrollen finden Sie in der offiziellen SAP-Dokumentation. Dieser SAP-Blogbeitrag kann ein guter Ausgangspunkt sein.
Es gibt derzeit einige Einschränkungen für HANA-Variablen, die an HDI-basierte Berechnungsansichten angefügt sind. Diese Einschränkungen sind aufgrund von Fehlern auf der HANA-Seite. Erstens ist es nicht möglich, eine HANA-Variable auf eine freigegebene Spalte einer HDI-containerbasierten Berechnungsansicht anzuwenden. Um diese Einschränkung zu beheben, aktualisieren Sie auf HANA 2, Version 37.02 und weiter oder auf HANA 2, Version 42 und höher. Zweitens werden Standardwerte für Mehrfacheingaben für Variablen und Parameter derzeit nicht in der Power BI-Benutzeroberfläche angezeigt. Ein Fehler in SAP HANA verursacht diese Einschränkung, aber SAP hat noch keine Lösung angekündigt.
Aktivieren der Spaltenbindung
Daten, die aus der Datenquelle abgerufen werden, werden in Variablen zurückgegeben, die die Anwendung zu diesem Zweck zugewiesen hat. Bevor dies geschehen kann, muss die Anwendung diese Variablen den Spalten des Resultsets zuordnen oder binden; Konzeptionell ist dieser Prozess identisch mit dem Binden von Anwendungsvariablen an Anweisungsparameter. Wenn die Anwendung eine Variable an eine Resultsetspalte bindet, wird diese Variable – Adresse, Datentyp usw. – an den Treiber beschrieben. Der Treiber speichert diese Informationen in der Struktur, die für diese Anweisung verwaltet wird, und verwendet die Informationen, um den Wert aus der Spalte zurückzugeben, wenn die Zeile abgerufen wird.
Wenn Sie power Query Desktop zum Herstellen einer Verbindung mit einer SAP HANA-Datenbank verwenden, können Sie die erweiterte Option "Spaltenbindung aktivieren " auswählen, um die Spaltenbindung zu aktivieren.
Sie können die Spaltenbindung auch in vorhandenen Abfragen oder in Abfragen aktivieren, die in Power Query Online verwendet werden, indem Sie die EnableColumnBinding
Option manuell zur Verbindung in der Power Query-Bearbeitungsleiste oder im erweiterten Editor hinzufügen. Beispiel:
SapHana.Database("myserver:30015", [Implementation = "2.0", EnableColumnBinding = true]),
Es gibt Einschränkungen, die dem manuellen Hinzufügen der EnableColumnBinding
Option zugeordnet sind:
- Aktivieren der Spaltenbindung funktioniert sowohl im Import- als auch im DirectQuery-Modus. Das Nachrüsten einer vorhandenen DirectQuery-Abfrage zur Verwendung dieser erweiterten Option ist jedoch nicht möglich. Stattdessen muss eine neue Abfrage erstellt werden, damit dieses Feature ordnungsgemäß funktioniert.
- In SAP HANA Server, Version 2.0 oder höher, ist die Spaltenbindung alles oder nichts. Wenn einige Spalten nicht gebunden werden können, wird keine gebunden sein, und der Benutzer erhält eine Ausnahme, z. B.
DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384)
. - SAP HANA Version 1.0-Server melden nicht immer die richtigen Spaltenlängen. In diesem Kontext
EnableColumnBinding
ermöglicht die partielle Spaltenbindung. Bei einigen Abfragen kann dies bedeuten, dass keine Spalten gebunden sind. Wenn keine Spalten gebunden sind, werden keine Leistungsvorteile erzielt.
Native Abfrageunterstützung im SAP HANA-Datenbankconnector
Der Power Query SAP HANA-Datenbankconnector unterstützt systemeigene Abfragen. Informationen zur Verwendung systemeigener Abfragen in Power Query erhalten Sie unter "Importieren von Daten aus einer Datenbank mithilfe einer systemeigenen Datenbankabfrage".
Query Folding in nativen Abfragen
Der Power Query SAP HANA-Datenbankconnector unterstützt jetzt die Abfragefaltung bei nativen Abfragen. Weitere Informationen: Abfragefaltung in systemeigenen Abfragen
Hinweis
Im Power Query SAP HANA-Datenbankconnector unterstützen native Abfragen keine doppelten Spaltennamen, wenn EnableFolding
auf "true" festgelegt ist.
Parameter in nativen Abfragen
Der Power Query SAP HANA-Datenbankconnector unterstützt jetzt Parameter in systemeigenen Abfragen. Sie können Parameter in systemeigenen Abfragen mithilfe der Syntax Value.NativeQuery angeben.
Im Gegensatz zu anderen Connectors unterstützt der SAP HANA-Datenbankconnector EnableFolding = True
und das gleichzeitige Angeben von Parametern.
Um Parameter in einer Abfrage zu verwenden, platzieren Sie Fragezeichen (?) in Ihrem Code als Platzhalter. Um den Parameter anzugeben, verwenden Sie den SqlType
Textwert und einen Wert dafür SqlType
in Value
.
Value
kann ein beliebiger M-Wert sein, muss jedoch dem Wert des angegebenen Werts SqlType
zugewiesen werden.
Es gibt mehrere Möglichkeiten zum Angeben von Parametern:
Bereitstellen nur der Werte als Liste:
{ “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
Bereitstellen der Werte und des Typs als Liste:
{ [ SqlType = "CHAR", Value = "M" ], [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
Kombinieren und variieren Sie die beiden Elemente:
{ “Seattle”, 1, [ SqlType = "SECONDDATE", Value = #datetime(2022, 5, 27, 17, 43, 7) ] }
SqlType
folgt den von SAP HANA definierten Standardtypnamen. Die folgende Liste enthält beispielsweise die am häufigsten verwendeten Typen:
- bigint
- BINÄR
- BOOLESCH
- VERKOHLEN
- Datum
- DEZIMAL
- DOPPELT
- Integer
- NVARCHAR
- SEKUNDÄRTERMIN
- SHORTTEXT
- SMALLDECIMAL
- SMALLINT
- ZEIT
- ZEITSTEMPEL
- VARBINARY
- VARCHAR
Im folgenden Beispiel wird veranschaulicht, wie eine Liste von Parameterwerten bereitgestellt wird.
let
Source = Value.NativeQuery(
SapHana.Database(
"myhanaserver:30015",
[Implementation = "2.0"]
),
"select ""VARCHAR_VAL"" as ""VARCHAR_VAL""
from ""_SYS_BIC"".""DEMO/CV_ALL_TYPES""
where ""VARCHAR_VAL"" = ? and ""DATE_VAL"" = ?
group by ""VARCHAR_VAL""
",
{"Seattle", #date(1957, 6, 13)},
[EnableFolding = true]
)
in
Source
Im folgenden Beispiel wird veranschaulicht, wie Eine Liste von Datensätzen (oder Kombinationen von Werten und Datensätzen) bereitgestellt wird:
let
Source = Value.NativeQuery(
SapHana.Database(Server, [Implementation="2.0"]),
"select
""COL_VARCHAR"" as ""COL_VARCHAR"",
""ID"" as ""ID"",
sum(""DECIMAL_MEASURE"") as ""DECIMAL_MEASURE""
from ""_SYS_BIC"".""DEMO/CV_ALLTYPES""
where
""COL_ALPHANUM"" = ? or
""COL_BIGINT"" = ? or
""COL_BINARY"" = ? or
""COL_BOOLEAN"" = ? or
""COL_DATE"" = ?
group by
""COL_ALPHANUM"",
""COL_BIGINT"",
""COL_BINARY"",
""COL_BOOLEAN"",
""COL_DATE"",
{
[ SqlType = "CHAR", Value = "M" ], // COL_ALPHANUM - CHAR
[ SqlType = "BIGINT", Value = 4 ], // COL_BIGINT - BIGINT
[ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], // COL_BINARY - BINARY
[ SqlType = "BOOLEAN", Value = true ], // COL_BOOLEAN - BOOLEAN
[ SqlType = "DATE", Value = #date(2022, 5, 27) ], // COL_DATE - TYPE_DATE
} ,
[EnableFolding=false]
)
in
Source
Unterstützung für dynamische Attribute
Die Art und Weise, wie der SAP HANA-Datenbankconnector berechnete Spalten behandelt, wurde verbessert. Der SAP HANA-Datenbankconnector ist ein "Cube"-Connector, und es gibt einige Sätze von Vorgängen (Elemente hinzufügen, Spalten reduzieren usw.), die im "Cube"-Raum auftreten. Dieser Cubebereich wird auf der Benutzeroberfläche von Power Query Desktop und Power Query Online durch das Symbol "Cube" angezeigt, das das häufigere Symbol "Tabelle" ersetzt.
Bevor Sie eine Tabellenspalte hinzugefügt haben (oder eine andere Transformation, die intern eine Spalte hinzufügt), fiel die Abfrage aus dem „Cube-Bereich“ heraus, und alle Vorgänge wurden auf Tabellenebene ausgeführt. Irgendwann könnte dieser Abbruch dazu führen, dass die Abfrage nicht mehr gefaltet wird. Das Ausführen von Cubevorgängen nach dem Hinzufügen einer Spalte war nicht mehr möglich.
Bei dieser Änderung werden die hinzugefügten Spalten als dynamische Attribute innerhalb des Cubes behandelt. Wenn die Abfrage für diesen Vorgang im Cubebereich verbleibt, können Sie den Vorteil nutzen, Cubevorgänge auch nach dem Hinzufügen von Spalten weiter zu verwenden.
Hinweis
Diese neue Funktionalität ist nur verfügbar, wenn Sie eine Verbindung mit Berechnungsansichten in SAP HANA Server Version 2.0 oder höher herstellen.
Die folgende Beispielabfrage nutzt diese neue Funktion. In der Vergangenheit würden Sie beim Anwenden von Cube.CollapseAndRemoveColumns eine Ausnahme "der Wert ist kein Cube" erhalten.
let
Source = SapHana.Database(“someserver:someport”, [Implementation="2.0"]),
Contents = Source{[Name="Contents"]}[Data],
SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models = Contents{[Name="SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models"]}[Data],
PURCHASE_ORDERS1 = SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models{[Name="PURCHASE_ORDERS"]}[Data],
#"Added Items" = Cube.Transform(PURCHASE_ORDERS1,
{
{Cube.AddAndExpandDimensionColumn, "[PURCHASE_ORDERS]", {"[HISTORY_CREATEDAT].[HISTORY_CREATEDAT].Attribute", "[Product_TypeCode].[Product_TypeCode].Attribute", "[Supplier_Country].[Supplier_Country].Attribute"}, {"HISTORY_CREATEDAT", "Product_TypeCode", "Supplier_Country"}},
{Cube.AddMeasureColumn, "Product_Price", "[Measures].[Product_Price]"}
}),
#"Inserted Year" = Table.AddColumn(#"Added Items", "Year", each Date.Year([HISTORY_CREATEDAT]), Int64.Type),
#"Filtered Rows" = Table.SelectRows(#"Inserted Year", each ([Product_TypeCode] = "PR")),
#"Added Conditional Column" = Table.AddColumn(#"Filtered Rows", "Region", each if [Supplier_Country] = "US" then "North America" else if [Supplier_Country] = "CA" then "North America" else if [Supplier_Country] = "MX" then "North America" else "Rest of world"),
#"Filtered Rows1" = Table.SelectRows(#"Added Conditional Column", each ([Region] = "North America")),
#"Collapsed and Removed Columns" = Cube.CollapseAndRemoveColumns(#"Filtered Rows1", {"HISTORY_CREATEDAT", "Product_TypeCode"})
in
#"Collapsed and Removed Columns"
Einschränkungen
Die folgenden Einschränkungen gelten für den Power Query SAP HANA-Datenbankconnector.
Herstellen einer Verbindung mit der SAP HANA-Datenbank über proxy
Der SAP HANA-Datenbankconnector unterstützt keine Verbindung mit der Clouddatenbank über proxy. Verwenden Sie zum Umgehen stattdessen den ODBC-Connector , und geben Sie die Proxyeinstellungen in DSN oder Verbindungszeichenfolge an.
Nächste Schritte
Die folgenden Artikel enthalten weitere Informationen, die Sie beim Herstellen einer Verbindung mit einer SAP HANA-Basis hilfreich finden können.