Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сводка
Товар | Описание |
---|---|
Статус релиза | Общая доступность |
Продукция | Эксель Power BI (семантические модели) Power BI (потоки данных) Fabric (Dataflow 2-го поколения) Power Apps (потоки данных) Службы анализа |
Поддерживаемые типы проверки подлинности | Базовый База данных Виндоус |
Справочная документация по функциям | SapHana.Database |
Замечание
Некоторые возможности могут присутствовать в одном продукте, но не другие из-за расписаний развертывания и возможностей для конкретного узла.
Предпосылки
Для входа на веб-сайт и скачивания драйверов потребуется учетная запись SAP. Если вы не уверены, обратитесь к администратору SAP в организации.
Чтобы использовать SAP HANA в Power BI Desktop или Excel, необходимо установить драйвер ODBC SAP HANA на локальном клиентском компьютере для правильной работы подключения к данным SAP HANA. Вы можете скачать клиентские средства SAP HANA из средств разработки SAP, который содержит необходимый драйвер ODBC. Вы также можете получить его из Центра загрузки программного обеспечения SAP. На портале программного обеспечения найдите КЛИЕНТ SAP HANA для компьютеров Windows. Так как центр загрузки программного обеспечения SAP часто изменяет структуру, более конкретные рекомендации по переходу на этот сайт недоступны. Инструкции по установке драйвера ODBC SAP HANA см. в статье об установке драйвера ODBC SAP HANA в Windows 64 Bits.
Чтобы использовать SAP HANA в Excel, необходимо установить на локальном клиентском компьютере 32-разрядную или 64-разрядную версию SAP HANA ODBC (в зависимости от того, используется ли 32-разрядная или 64-разрядная версия Excel).
Эта функция доступна только в Excel для Windows, если у вас есть подписка На Office 2019 или Microsoft 365. Если вы являетесь подписчиком Microsoft 365, убедитесь, что у вас установлена последняя версия Office.
Поддерживается HANA 1.0 SPS 12rev12.09, 2.0 SPS 3rev30 и BW/4HANA 2.0.
Поддерживаемые возможности
- Импорт
- Direct Query (семантические модели Power BI)
- Продвинутый
- Инструкция SQL
Подключение к базе данных SAP HANA из Power Query Desktop
Чтобы подключиться к базе данных SAP HANA из Power Query Desktop, выполните приведенные ниже действия.
Выберите Получить данные > из SAP HANA в Power BI Desktop или Из базы данных > SAP HANA на ленте Данные в Excel.
Введите имя и порт сервера SAP HANA, к которому вы хотите подключиться. На следующем рисунке показан пример использования
SAPHANATestServer
на порту30015
.По умолчанию номер порта устанавливается для поддержки одной базы данных контейнера. Если база данных SAP HANA может содержать несколько контейнеров мультитенантной базы данных, выберите базу данных системы с несколькими контейнерами (30013). Если вы хотите подключиться к базе данных клиента или базе данных с нестандартным номером экземпляра, выберите "Пользовательский" в раскрывающемся меню "Порт".
Если вы подключаетесь к базе данных SAP HANA из Power BI Desktop, вы также можете выбрать вариант импорта или DirectQuery. В примере в этой статье используется импорт, который является значением по умолчанию (и единственным режимом для Excel). Дополнительные сведения о подключении к базе данных с помощью DirectQuery в Power BI Desktop см. в разделе "Подключение к источникам данных SAP HANA" с помощью DirectQuery в Power BI.
Вы также можете ввести инструкцию SQL или включить привязку столбцов из дополнительных параметров. Больше информации. Подключитесь, используя расширенные параметры.
После ввода всех параметров нажмите кнопку "ОК".
Если вы впервые обращаетесь к базе данных, вам будет предложено ввести учетные данные для проверки подлинности. В этом примере серверу SAP HANA требуются учетные данные пользователя базы данных, поэтому выберите "База данных " и введите имя пользователя и пароль. При необходимости введите сведения о сертификате сервера.
Кроме того, может потребоваться проверить сертификат сервера. Дополнительные сведения об использовании валидации сертификатов сервера см. в разделе «Использование шифрования SAP HANA». В Power BI Desktop и Excel выбор сертификата сервера проверки включен по умолчанию. Если вы уже настроили эти параметры в администраторе источника данных ODBC, снимите флажок "Проверить сертификат сервера ". Чтобы узнать больше об использовании администратора источника данных ODBC для настройки этих выборов, перейдите к разделу "Настройка SSL для клиентского доступа ODBC к SAP HANA".
Дополнительные сведения о проверке подлинности см. в аутентификации с помощью источника данных.
После заполнения всех необходимых сведений нажмите кнопку "Подключить".
В диалоговом окне "Навигатор " можно преобразовать данные в редакторе Power Query, выбрав преобразование данных или загрузив данные, выбрав "Загрузка".
Подключение к базе данных SAP HANA из Power Query Online
Чтобы подключиться к данным SAP HANA из Power Query Online, выполните приведенные ниже действия.
На странице источников данных выберите базу данных SAP HANA.
Введите имя и порт сервера SAP HANA, к которому вы хотите подключиться. Пример в следующем рисунке использует
SAPHANATestServer
на порту30015
.При необходимости введите инструкцию SQL из дополнительных параметров. Дополнительные сведения, подключение с помощью дополнительных параметров
Выберите имя локального шлюза данных, который будет использоваться для доступа к базе данных.
Замечание
Для этого соединителя необходимо использовать локальный шлюз данных, независимо от того, являются ли данные локальными или сетевыми.
Выберите тип проверки подлинности, который вы хотите использовать для доступа к данным. Вам также потребуется ввести имя пользователя и пароль.
Замечание
В настоящее время Power Query Online поддерживает только обычную проверку подлинности.
Выберите "Использовать зашифрованное подключение ", если используется любое зашифрованное подключение, а затем выберите поставщика шифрования SSL. Если вы не используете зашифрованное подключение, снимите флажок "Использовать зашифрованное подключение". Дополнительные сведения. Включение шифрования для SAP HANA
Выберите Далее для продолжения.
В диалоговом окне "Навигатор " можно преобразовать данные в редакторе Power Query, выбрав преобразование данных или загрузив данные, выбрав "Загрузка".
Подключитесь с использованием дополнительных параметров
Power Query предоставляет набор дополнительных параметров, которые можно добавить в запрос при необходимости.
В следующей таблице описаны все дополнительные параметры, которые можно задать в Power Query.
Дополнительный параметр | Описание |
---|---|
Инструкция SQL | Дополнительные сведения: импорт данных из базы данных с помощью собственного запроса базы данных |
Включение привязки столбцов | При получении данных привязывает переменные к столбцам результирующего набора SAP HANA. Может повысить производительность за счет немного большего использования памяти. Этот параметр доступен только в Power Query Desktop. Дополнительные сведения: включение привязки столбцов |
Тайм-аут подключения | Длительность, которая определяет, как долго ждать, прежде чем отказаться от попытки подключения к серверу. Значение по умолчанию — 15 секунд. |
CommandTimeout | Длительность, которая определяет время выполнения запроса на стороне сервера перед отменой. Значение по умолчанию — десять минут. |
Поддерживаемые функции для SAP HANA
В следующем списке показаны поддерживаемые функции SAP HANA. Не все функции, перечисленные здесь, поддерживаются во всех реализациях соединителя базы данных SAP HANA.
Соединитель Power BI Desktop и Excel для базы данных SAP HANA используют драйвер SAP ODBC для обеспечения оптимального взаимодействия с пользователем.
В Power BI Desktop SAP HANA поддерживает параметры DirectQuery и импорта.
Power BI Desktop поддерживает информационные модели HANA, такие как аналитические и вычисляемые представления, и оптимизированную навигацию.
С помощью SAP HANA можно также использовать команды SQL в инструкции SQL-запроса собственной базы данных для подключения к таблицам строк и столбцов в таблицах каталога HANA, которые не включены в представления аналитики и вычисления, предоставляемые интерфейсом навигатора. Соединитель ODBC можно также использовать для запроса этих таблиц.
Power BI Desktop включает оптимизированную навигацию для моделей HANA.
Power BI Desktop поддерживает переменные SAP HANA и входные параметры.
Power BI Desktop поддерживает вычислительные представления на основе контейнеров HDI.
Функция SapHana.Database теперь поддерживает время ожидания подключений и команд. Дополнительные сведения: подключение с помощью дополнительных параметров
Чтобы получить доступ к представлениям вычислений на основе контейнеров HDI в Power BI, убедитесь, что пользователи базы данных HANA, используемые с Power BI, имеют разрешение на доступ к контейнеру среды выполнения HDI, в которой хранятся представления, к которым вы хотите получить доступ. Чтобы предоставить доступ, создайте роль, которая позволяет получить доступ к вашему контейнеру HDI. Затем назначьте роль пользователю базы данных HANA, который будет использоваться с Power BI. (Этот пользователь также должен иметь разрешение на чтение из системных таблиц в схеме _SYS_BI, как обычно.) Ознакомьтесь с официальной документацией ПО SAP, чтобы получить подробные инструкции по созданию и назначению ролей базы данных. Эта запись блога SAP может быть хорошим местом для начала.
В настоящее время существуют некоторые ограничения для переменных HANA, подключенных к представлениям вычислений на основе HDI. Эти ограничения возникают из-за ошибок на стороне HANA. Во-первых, невозможно применить переменную HANA к общему столбцу представления вычислений на основе контейнера HDI. Чтобы устранить это ограничение, обновите до HANA 2 версии 37.02 и до HANA 2 версии 42 и далее. Во-вторых, значения по умолчанию с множественными входами для переменных и параметров в настоящее время не отображаются в пользовательском интерфейсе Power BI. Ошибка в SAP HANA приводит к этому ограничению, но SAP еще не объявила об исправлении.
Включение привязки столбцов
Данные, полученные из источника данных, возвращаются приложению в переменных, выделенных приложением для этой цели. Прежде чем это можно сделать, приложение должно связать или привязать эти переменные к столбцам результирующего набора; Концептуально этот процесс совпадает с привязкой переменных приложения к параметрам инструкции. Когда приложение привязывает переменную к столбцу результирующих наборов, она описывает переменную — адрес, тип данных и т. д. — драйверу. Драйвер хранит эту информацию в структуре, которую он поддерживает для этого запроса, и использует эти данные для возврата значения из столбца при получении строки.
В настоящее время при использовании Power Query Desktop для подключения к базе данных SAP HANA можно выбрать расширенный параметр "Включить привязку столбцов ", чтобы включить привязку столбцов.
Вы также можете включить привязку столбцов в существующих запросах или запросах, используемых в Power Query Online, вручную добавив EnableColumnBinding
параметр к подключению в строке формул Power Query или расширенном редакторе. Рассмотрим пример.
SapHana.Database("myserver:30015", [Implementation = "2.0", EnableColumnBinding = true]),
Существуют ограничения, связанные с добавлением EnableColumnBinding
параметра вручную:
- Включение привязки столбцов работает как в режиме импорта, так и в режиме DirectQuery. Однако модернизация существующего запроса DirectQuery для использования этого расширенного параметра невозможна. Вместо этого для правильной работы этой функции необходимо создать новый запрос.
- В версии SAP HANA Server 2.0 или новее привязка столбцов осуществляется по принципу "всё или ничего". Если некоторые столбцы не могут быть привязаны, ни одна из них не будет привязана, и пользователь получит исключение, например
DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384)
. - Серверы SAP HANA версии 1.0 не всегда сообщают о правильной длине столбцов. В этом контексте
EnableColumnBinding
допускается частичная привязка столбцов. Для некоторых запросов это может означать, что столбцы не привязаны. Если столбцы не привязаны, преимущества производительности не получаются.
Поддержка собственных запросов в соединителе базы данных SAP HANA
Соединитель базы данных SAP HANA Power Query поддерживает собственные запросы. Сведения об использовании собственных запросов в Power Query см. в разделе "Импорт данных из базы данных" с помощью собственного запроса базы данных.
Свертывание запросов для нативных запросов
Соединитель базы данных SAP HANA для Power Query теперь поддерживает свертывание запросов на собственных запросах. Дополнительные сведения: сворачивание запросов на основе собственных запросов
Замечание
В соединителе базы данных SAP HANA Power Query собственные запросы не поддерживают повторяющиеся имена столбцов, если EnableFolding
задано значение true.
Параметры в собственных запросах
Соединитель базы данных SAP HANA для Power Query теперь поддерживает параметры в собственных запросах. Параметры в собственных запросах можно указать с помощью синтаксиса Value.NativeQuery .
В отличие от других соединителей, соединитель базы данных SAP HANA поддерживает EnableFolding = True
и задает параметры одновременно.
Чтобы использовать параметры в запросе, в качестве заполнителей помещайте в код вопросительные знаки (?). Чтобы указать параметр, используйте значение текста SqlType
и значение для этого SqlType
в Value
.
Value
может быть любым значением M, но должно быть назначено указанному SqlType
значению.
Существует несколько способов указания параметров:
Предоставление только значений в виде списка:
{ “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
Предоставление значений и типов в виде списка:
{ [ SqlType = "CHAR", Value = "M" ], [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
Комбинируйте элементы двумя способами:
{ “Seattle”, 1, [ SqlType = "SECONDDATE", Value = #datetime(2022, 5, 27, 17, 43, 7) ] }
SqlType
следует стандартным именам типов, определенным SAP HANA. Например, следующий список содержит наиболее распространенные типы, используемые:
- БИГИНТ
- БИНАРНЫЙ
- Булевый
- УГОЛЬ
- Дата
- ДЕСЯТИЧНЫЙ
- ДВОЙНОЙ
- ЦЕЛОЕ ЧИСЛО
- NVARCHAR
- ВТОРАЯДАТА
- SHORTTEXT
- младший десятичный
- СМОЛЛИНТ
- ВРЕМЯ
- TIMESTAMP
- VARBINARY
- VARCHAR
В следующем примере показано, как указать список значений параметров.
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
В следующем примере показано, как предоставить список записей (или смешивать значения и записи):
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
Поддержка динамических атрибутов
Улучшен способ, в котором соединитель базы данных SAP HANA обрабатывает вычисляемые столбцы. Соединитель базы данных SAP HANA — это соединитель куба, и есть некоторые наборы операций (добавление элементов, свертывание столбцов и т. д.), которые происходят в пространстве куба. Это пространство куба представлено в пользовательском интерфейсе Power Query Desktop и Power Query Online значком куба, который заменяет более распространенный значок таблицы.
Раньше, когда вы добавляли столбец в таблицу (или другое преобразование, которое внутренне добавляет столбец), запрос "выпадал из пространства куба", и все операции выполнялись на уровне таблицы. В какой-то момент этот сбой может привести к остановке свертывания запроса. Выполнение операций куба после добавления столбца больше не возможно.
При этом изменении добавленные столбцы обрабатываются как динамические атрибуты в кубе. Если запрос остается в пространстве куба для этой операции, вы можете продолжать использовать операции куба даже после добавления столбцов.
Замечание
Эта новая функция доступна только при подключении к представлениям вычислений в SAP HANA Server версии 2.0 или более поздней.
Следующий пример запроса использует эту новую возможность. В прошлом при применении Cube.CollapseAndRemoveColumns вы получали исключение "значение не является кубом".
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"
Ограничения
Следующие ограничения применяются к соединителю базы данных SAP HANA Power Query.
Подключение к базе данных SAP HANA через прокси-сервер
Соединитель базы данных SAP HANA не поддерживает подключение к облачной базе данных через прокси-сервер. Чтобы обойти проблему, используйте соединитель ODBC и укажите параметры прокси-сервера в DSN или строке подключения.
Дальнейшие шаги
В следующих статьях содержатся дополнительные сведения, которые могут оказаться полезными при подключении к дебазе SAP HANA.