Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Resumo
Elemento | Descrição |
---|---|
Estado da liberação | Disponibilidade geral |
Produtos | Distinguir-se Power BI (modelos semânticos) Power BI (fluxos de dados) Tecido (Dataflow Gen2) Power Apps (fluxos de dados) Serviços de análise |
Tipos de autenticação com suporte | Básico Base de dados Windows |
Documentação de referência da função | SapHana.Database |
Observação
Alguns recursos podem estar presentes em um produto, mas não em outros devido a cronogramas de implantação e funcionalidades específicas do host.
Pré-requisitos
Você precisará de uma conta SAP para entrar no site e baixar os drivers. Se você não tiver certeza, entre em contato com o administrador do SAP em sua organização.
Para usar o SAP HANA no Power BI Desktop ou no Excel, você deve ter o driver ODBC do SAP HANA instalado no computador cliente local para que a conexão de dados do SAP HANA funcione corretamente. Você pode baixar as ferramentas de cliente sap HANA das Ferramentas de Desenvolvimento do SAP, que contém o driver ODBC necessário. Ou você pode obtê-lo no Centro de Download de Software sap. No portal de software, pesquise o CLIENTE SAP HANA para computadores Windows. Como o Centro de Download de Software sap altera sua estrutura com frequência, diretrizes mais específicas para navegar nesse site não estão disponíveis. Para obter instruções sobre como instalar o driver ODBC do SAP HANA, acesse Instalar o Driver ODBC do SAP HANA no Windows 64 Bits.
Para usar o SAP HANA no Excel, você deve ter o driver ODBC sap HANA de 32 ou 64 bits (dependendo se você está usando a versão de 32 bits ou 64 bits do Excel) instalado no computador cliente local.
Esse recurso só estará disponível no Excel para Windows se você tiver o Office 2019 ou uma assinatura do Microsoft 365. Se você for assinante do Microsoft 365, verifique se tem a versão mais recente do Office.
Há suporte para HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 e BW/4HANA 2.0.
Capacidades Suportadas
- Importação
- Consulta Direta (modelos semânticos do Power BI)
- Avançado
- Instrução SQL
Conectar-se a um banco de dados SAP HANA do Power Query Desktop
Para se conectar a um banco de dados SAP HANA do Power Query Desktop:
Selecione Obter dados do banco de dados > SAP HANA no Power BI Desktop ou no banco de dados > do Banco de Dados SAP HANA na faixa de opções Dados no Excel.
Insira o nome e a porta do servidor SAP HANA ao qual você deseja se conectar. O exemplo na figura a seguir usa
SAPHANATestServer
na porta30015
.Por padrão, o número da porta é definido para dar suporte a um banco de dados de contêiner único. Se o banco de dados SAP HANA puder conter mais de um contêiner de banco de dados multilocatário, selecione o banco de dados do sistema multilocatário (30013). Se você quiser se conectar a um banco de dados de locatário ou a um banco de dados com um número de instância não padrão, selecione Personalizado no menu suspenso Porta.
Se você estiver se conectando a um banco de dados SAP HANA do Power BI Desktop, também será dada a opção de selecionar Importar ou DirectQuery. O exemplo neste artigo usa Import, que é o padrão (e o único modo para Excel). Para obter mais informações sobre como se conectar ao banco de dados usando o DirectQuery no Power BI Desktop, acesse Conectar-se às fontes de dados do SAP HANA usando o DirectQuery no Power BI.
Você também pode inserir uma instrução SQL ou habilitar a associação de coluna em Opções Avançadas. Mais informações, conecte-se usando opções avançadas
Depois de inserir todas as opções, selecione OK.
Se você estiver acessando um banco de dados pela primeira vez, será solicitado que você insira suas credenciais para autenticação. Neste exemplo, o servidor SAP HANA requer credenciais de usuário de banco de dados, portanto, selecione Banco de Dados e insira seu nome de usuário e senha. Se necessário, insira as informações do certificado do servidor.
Além disso, talvez seja necessário validar o certificado do servidor. Para obter mais informações sobre como usar seleções de certificado de servidor validado, consulte Usando a criptografia sap HANA. No Power BI Desktop e no Excel, a seleção de certificado do servidor de validação é habilitada por padrão. Se você já tiver configurado essas seleções no Administrador da Fonte de Dados ODBC, desmarque a caixa de seleção Validar certificado do servidor . Para saber mais sobre como usar o Administrador de Fonte de Dados ODBC para configurar essas seleções, acesse Configurar o SSL para acesso do cliente ODBC ao SAP HANA.
Para ter mais informações sobre a autenticação, acesse Autenticação com uma fonte de dados.
Depois de preencher todas as informações necessárias, selecione Conectar.
Na caixa de diálogo Navegador , você pode transformar os dados no editor do Power Query selecionando Transformar Dados ou carregar os dados selecionando Carregar.
Conectar-se a um banco de dados SAP HANA do Power Query Online
Para se conectar aos dados do SAP HANA do Power Query Online:
Na página Fontes de dados , selecione o banco de dados SAP HANA.
Insira o nome e a porta do servidor SAP HANA ao qual você deseja se conectar. O exemplo na figura a seguir usa
SAPHANATestServer
na porta30015
.Opcionalmente, insira uma instrução SQL de opções avançadas. Mais informações, conecte-se usando opções avançadas
Selecione o nome do gateway de dados local a ser usado para acessar o banco de dados.
Observação
Você deve usar um gateway de dados local com esse conector, independentemente de seus dados serem locais ou online.
Escolha o tipo de autenticação que você deseja usar para acessar seus dados. Você também precisará inserir um nome de usuário e uma senha.
Observação
Atualmente, o Power Query Online dá suporte apenas à autenticação Básica.
Selecione Usar Conexão Criptografada se você estiver usando qualquer conexão criptografada e escolha o provedor de criptografia SSL. Se você não estiver usando uma conexão criptografada, desmarque Usar Conexão Criptografada. Mais informações: Habilitar a criptografia para o SAP HANA
Selecione Avançar para continuar.
Na caixa de diálogo Navegador , você pode transformar os dados no editor do Power Query selecionando Transformar Dados ou carregar os dados selecionando Carregar.
Conectar usando opções avançadas
O Power Query fornece um conjunto de opções avançadas que você pode adicionar à consulta, se necessário.
A tabela a seguir descreve todas as opções avançadas que você pode definir no Power Query.
Opção avançada | Descrição |
---|---|
Instrução SQL | Mais informações, importar dados de um banco de dados usando a consulta de banco de dados nativo |
Habilitar vinculação de coluna | Associa variáveis às colunas de um conjunto de resultados do SAP HANA ao buscar dados. Pode potencialmente melhorar o desempenho ao custo de utilização de memória ligeiramente maior. Essa opção só está disponível no Power Query Desktop. Mais informações: Habilitar associação de coluna |
Tempo Limite de Conexão | Uma duração que controla quanto tempo esperar antes de abandonar uma tentativa de fazer uma conexão com o servidor. O valor padrão é 15 segundos. |
Tempo limite de comando | Uma duração que controla por quanto tempo a consulta do lado do servidor pode ser executada antes de ser cancelada. O valor padrão é dez minutos. |
Recursos com suporte para SAP HANA
A lista a seguir mostra os recursos com suporte para o SAP HANA. Nem todos os recursos listados aqui têm suporte em todas as implementações do conector de banco de dados sap HANA.
O conector do Power BI Desktop e do Excel para um banco de dados SAP HANA usam o driver SAP ODBC para fornecer a melhor experiência do usuário.
No Power BI Desktop, o SAP HANA dá suporte às opções DirectQuery e Import.
O Power BI Desktop dá suporte a modelos de informações do HANA, como Exibições de Análise e Cálculo, e tem navegação otimizada.
Com o SAP HANA, você também pode usar comandos SQL na instrução SQL de consulta de banco de dados nativo para se conectar a tabelas de linhas e colunas nas tabelas do catálogo do HANA, que não estão incluídas nas exibições de análise/cálculo fornecidas pela experiência do navegador. Você também pode usar o conector ODBC para consultar essas tabelas.
O Power BI Desktop inclui navegação otimizada para modelos do HANA.
O Power BI Desktop dá suporte a variáveis sap HANA e parâmetros de entrada.
O Power BI Desktop dá suporte a visões de cálculo baseadas em contêineres de HDI.
A função SapHana.Database agora dá suporte a tempos limite de conexão e comando. Mais informações: Conectar usando opções avançadas
Para acessar as exibições de cálculo baseadas em contêiner de HDI no Power BI, verifique se os usuários do banco de dados do HANA que você usa com o Power BI têm permissão para acessar o contêiner de runtime do HDI que armazena as exibições que você deseja acessar. Para conceder esse acesso, crie uma função que permita o acesso ao seu contêiner de HDI. Em seguida, atribua a função ao usuário de banco de dados do HANA que você usará com o Power BI. (Esse usuário também deve ter permissão para ler das tabelas do sistema no esquema _SYS_BI, como de costume.) Consulte a documentação oficial do SAP para obter instruções detalhadas sobre como criar e atribuir funções de banco de dados. Esta postagem no blog sap pode ser um bom lugar para começar.
Atualmente, há algumas limitações para variáveis do HANA anexadas a exibições de cálculo baseadas em HDI. Essas limitações ocorrem devido a erros no lado do HANA. Primeiro, não é possível aplicar uma variável HANA a uma coluna compartilhada de uma exibição de cálculo baseada em contêiner HDI. Para corrigir essa limitação, atualize para o HANA 2 versão 37.02 e em diante ou para o HANA 2 versão 42 e em diante. Em segundo lugar, os valores padrão de várias entradas para variáveis e parâmetros atualmente não aparecem na interface do usuário do Power BI. Um erro no SAP HANA causa essa limitação, mas o SAP ainda não anunciou uma correção.
Habilitar associação de coluna
Os dados obtidos da fonte de dados são retornados ao aplicativo em variáveis que o aplicativo alocou para essa finalidade. Antes que isso possa ser feito, o aplicativo deve associar ou associar essas variáveis às colunas do conjunto de resultados; conceitualmente, esse processo é o mesmo que associar variáveis de aplicativo a parâmetros de instrução. Quando o aplicativo associa uma variável a uma coluna de conjunto de resultados, ele descreve essa variável - endereço, tipo de dados e assim por diante - ao driver. O driver armazena essas informações na estrutura que mantém para essa instrução e usa as informações para retornar o valor da coluna quando a linha é buscada.
Atualmente, ao usar o Power Query Desktop para se conectar a um banco de dados SAP HANA, você pode selecionar a opção Habilitar associação de coluna avançada para habilitar a associação de colunas.
Você também pode habilitar a associação de coluna em consultas existentes ou em consultas usadas no Power Query Online adicionando manualmente a opção EnableColumnBinding
à conexão na barra de fórmulas do Power Query ou no editor avançado. Por exemplo:
SapHana.Database("myserver:30015", [Implementation = "2.0", EnableColumnBinding = true]),
Há limitações associadas à adição manual da opção EnableColumnBinding
:
- Habilitar a associação de colunas funciona tanto no modo de Importação quanto no modo DirectQuery. No entanto, não é possível readaptação de uma consulta DirectQuery existente para usar essa opção avançada. Em vez disso, uma nova consulta deve ser criada para que esse recurso funcione corretamente.
- No SAP HANA Server versão 2.0 ou posterior, a associação de coluna é tudo ou nada. Se algumas colunas não puderem ser associadas, nenhuma será associada e o usuário receberá uma exceção, por exemplo,
DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384)
. - Os servidores SAP HANA versão 1.0 nem sempre relatam comprimentos de coluna corretos. Nesse contexto,
EnableColumnBinding
permite a associação parcial da coluna. Para algumas consultas, isso pode significar que nenhuma coluna esteja vinculada. Quando nenhuma coluna está vinculada, nenhum benefício de desempenho é obtido.
Suporte à consulta nativa no conector do banco de dados SAP HANA
O conector de banco de dados SAP HANA do Power Query dá suporte a consultas nativas. Para obter informações sobre como usar consultas nativas no Power Query, acesse Importar dados de um banco de dados usando a consulta de banco de dados nativo.
Dobragem de consultas em consultas nativas
O conector de banco de dados SAP HANA do Power Query agora dá suporte ao 'query folding' em consultas nativas. Mais informações: Dobramento de consulta em consultas nativas
Observação
No conector de banco de dados do SAP HANA do Power Query, as consultas nativas não dão suporte a nomes de coluna duplicados quando EnableFolding
são definidas como true.
Parâmetros em consultas nativas
O conector de banco de dados SAP HANA do Power Query agora dá suporte a parâmetros em consultas nativas. Você pode especificar parâmetros em consultas nativas usando a sintaxe Value.NativeQuery .
Ao contrário de outros conectores, o conector de banco de dados SAP HANA oferece suporte a EnableFolding = True
e à especificação de parâmetros ao mesmo tempo.
Para usar parâmetros em uma consulta, você coloca pontos de interrogação (?) em seu código como marcadores de posição. Para especificar o parâmetro, use o valor de texto SqlType
e um valor correspondente SqlType
em Value
.
Value
pode ser qualquer valor M, mas deve ser atribuído ao valor do especificado SqlType
.
Há várias maneiras de especificar parâmetros:
Fornecendo apenas os valores como uma lista:
{ “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
Fornecendo os valores e o tipo como uma lista:
{ [ SqlType = "CHAR", Value = "M" ], [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
Misture e combine os dois.
{ “Seattle”, 1, [ SqlType = "SECONDDATE", Value = #datetime(2022, 5, 27, 17, 43, 7) ] }
SqlType
segue os nomes de tipo padrão definidos pelo SAP HANA. Por exemplo, a lista a seguir contém os tipos mais comuns usados:
- bigint
- BINÁRIO
- BOOLEANO
- CARVÃO
- DATA
- DECIMAL
- DUPLO / DOBRAR
- INTEIRO
- NVARCHAR
- SECONDDATE
- SHORTTEXT
- PEQUENODECIMAL
- SMALLINT
- TEMPO
- TIMESTAMP
- VARBINARY
- VARCHAR
O exemplo a seguir demonstra como fornecer uma lista de valores de parâmetro.
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
O exemplo a seguir demonstra como fornecer uma lista de registros (ou misturar valores e registros):
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
Suporte para atributos dinâmicos
A maneira como o conector de banco de dados SAP HANA trata colunas calculadas foi aprimorada. O conector de banco de dados SAP HANA é um conector de "cubo", e há alguns conjuntos de operações (adicionar itens, recolher colunas e assim por diante) que ocorrem no "espaço cubo". Esse espaço de cubo é exibido na interface do usuário do Power Query Desktop e do Power Query Online pelo ícone "cubo" que substitui o ícone mais comum de "tabela".
Antes, quando você adicionava uma coluna de tabela (ou outra transformação que adiciona internamente uma coluna), a consulta "sairia do espaço do cubo" e todas as operações seriam feitas em um nível de tabela. Em algum momento, essa interrupção pode fazer com que a consulta pare de se desdobrar. A execução de operações de cubo após a adição de uma coluna não era mais possível.
Com essa alteração, as colunas adicionadas são tratadas como atributos dinâmicos dentro do cubo. Fazer com que a consulta permaneça no espaço do cubo para essa operação tem a vantagem de permitir que você continue usando operações de cubo mesmo depois de adicionar colunas.
Observação
Essa nova funcionalidade só estará disponível quando você se conectar às Exibições de Cálculo no servidor SAP HANA versão 2.0 ou superior.
A consulta de exemplo a seguir aproveita essa nova funcionalidade. No passado, você obteria uma exceção "o valor não é um cubo" ao aplicar 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"
Limitações
As limitações a seguir se aplicam ao conector de banco de dados sap HANA do Power Query.
Conectar-se ao banco de dados sap HANA por proxy
O conector de banco de dados do SAP HANA não dá suporte à conexão ao banco de dados de nuvem por meio de proxy. Como alternativa, use o conector ODBC e especifique as configurações de proxy no DSN ou na string de conexão.
Próximas etapas
Os artigos a seguir contêm mais informações que você pode achar úteis ao se conectar a uma base de dados do SAP HANA.