Detalhes de implementação
Este artigo descreve informações de conversão e recursos específicos disponíveis na Implementação 2 do conector do SAP Business Warehouse do Power Query.
Importante
A versão 1.0 do conector do SAP Business Warehouse foi desativada. Novas conexões usarão a Implementação 2.0 do conector do SAP Business Warehouse. Todo o suporte para a versão 1.0 será removido do Connector em um futuro próximo. Use as informações neste artigo para atualizar os relatórios existentes da versão 1.0 para que eles possam usar a Implementação 2.0 desse conector.
Novas opções para a Implementação 2.0
A Implementação 2.0 oferece suporte às seguintes opções:
ExecutionMode especifica a interface MDX usada para executar consultas no servidor. As seguintes opções são válidas:
SapBusinessWarehouseExecutionMode.BasXml
SapBusinessWarehouseExecutionMode.BasXmlGzip
SapBusinessWarehouseExecutionMode.DataStream
O valor padrão é
SapBusinessWarehouseExecutionMode.BasXmlGzip
.O uso de
SapBusinessWarehouseExecutionMode.BasXmlGzip
pode melhorar o desempenho ao passar por alta latência para grandes conjuntos de dados.
BatchSize especifica o número máximo de linhas a serem recuperadas por vez ao executar uma instrução MDX. Um número pequeno se traduz em mais chamadas para o servidor ao recuperar um conjunto de dados grande. Um grande número de linhas pode melhorar o desempenho, mas pode causar problemas de memória no servidor SAP BW. O valor padrão é 50000 linhas.
EnableStructures indica se as estruturas características são reconhecidas. O valor padrão dessa opção é false. Afeta a lista de objetos disponíveis para seleção. Não há suporte no modo de consulta nativa.
A opção ScaleMeasures foi desativada nesta implementação. O comportamento agora é o mesmo que definir ScaleMeasures como false, sempre mostrando valores não dimensionados.
Melhorias adicionais para a Implementação 2.0
A lista a seguir descreve alguns aprimoramentos adicionais que vêm com a nova implementação:
- Desempenho aprimorado.
- Capacidade de recuperar milhões de linhas de dados e fazer um ajuste fino por meio do parâmetro de tamanho do lote.
- Capacidade de alternar os modos de execução.
- Suporte para modo compactado. Especialmente benéfico para conexões de alta latência ou conjuntos de dados grandes.
- Melhoria na detecção de variáveis
Date
. - Exposição das dimensões
Date
(tipo DATS do ABAP) eTime
(tipo TIMS do ABAP), como datas e horas, respectivamente, em vez de valores de texto. Mais informações: Suporte para datas tipada no SAP BW - Melhoria no tratamento de exceção. Os erros que ocorrem em chamadas BAPI agora são apresentados.
- Dobramento de colunas nos modos BasXml e BasXmlGzip. Por exemplo, se a consulta MDX gerada recuperar 40 colunas, mas a seleção atual precisar apenas de 10, essa solicitação será transmitida ao servidor para recuperar um conjunto de dados menor.
Alterando relatórios existentes para usar a Implementação 2.0
Alterar relatórios existentes para usar a Implementação 2.0 só é possível no modo de importação. Siga estas etapas:
Abra um relatório existente, selecione Editar Consultas na faixa de opções e selecione a consulta do SAP Business Warehouse a ser atualizada.
Clique com o botão direito do mouse na consulta e selecione Editor Avançado.
No Editor Avançado, altere a chamada
SapBusinessWarehouse.Cubes
da seguinte maneira:Determine se a consulta já contém um registro de opção, como o exemplo a seguir.
Se for o caso, adicione a opção
Implementation 2.0
e remova a opçãoScaleMeasures
, se presente, conforme mostrado abaixo.Se a consulta ainda não incluir um registro de opções, basta adicioná-lo. Para a seguinte opção:
Basta alterar para:
Todos os esforços necessários foram feitos para tornar a Implementação 2.0 do conector do SAP BW compatível com a versão 1. No entanto, pode haver algumas diferenças devido aos diferentes modos de execução do SAP BW MDX que estão sendo usados. Para resolver conflitos, tente alternar entre os modos de execução.
Suporte para datas tipadas no SAP BW
A implementação 2.0 do conector do SAP BW inclui suporte para datas e horários tipados. Se você consultar um relatório que tenha dimensões com tipos DATS ou TIMS do ABAP, eles agora poderão ser gerados como datas em vez de texto.
As limitações para usar essa funcionalidade são:
- Disponível somente na Implementação 2.0 do conector do SAP BW.
- Disponível apenas no Modo de importação.
- A conta usada para se conectar ao servidor do SAP BW deve ter permissões suficientes para chamar BAPI_IOBJ_GETDETAIL.
let
Source = SapBusinessWarehouse.Cubes("sapbwtestserver", "00", "837", [ExecutionMode=SapBusinessWarehouseExecutionMode.BasXmlGzip, Implementation="2.0"]),
#"$INFOCUBE" = Source{[Name="$INFOCUBE"]}[Data],
#"$0D_DECU" = #"$INFOCUBE"{[Id="$0D_DECU"]}[Data],
#"Added Items" = Cube.Transform(#"$0D_DECU",
{
{Cube.AddAndExpandDimensionColumn, "[0CALDAY]", {"[0CALDAY].[LEVEL01]"}, {"Calendar day.Calendar day Level 01"}},
{Table.AddColumn, "Calendar day.Calendar day Level 01.Key", each Cube.AttributeMemberProperty([Calendar day.Calendar day Level 01], "[20CALDAY]")},
{Cube.AddMeasureColumn, "Billed Quantity", "[Measures].[0D_INV_QTY]"}
})
in
#"Added Items"
Você precisará adicionar a chave para acessar a data tipada. Por exemplo, se houver um atributo de dimensão chamado [0CALDAY], você precisará adicionar a chave [20CALDAY] para obter o valor tipado.
No exemplo acima, isso significa que:
- Calendar day.Calendar day Level 01 [0CALDAY] será texto (uma legenda). (Adicionado por padrão quando a dimensão for adicionada).
- Calendar day.Calendar day Level 01.Key [20CALDAY] será uma data (deverá ser selecionada manualmente).
Para adicionar manualmente a chave no Modo de importação, basta expandir Propriedades e selecionar a chave.
A coluna de chave será do tipo data e poderá ser usada para filtragem. A filtragem nesta coluna será dobrada para o servidor.
Suporte para recursos do SAP BW
A tabela a seguir lista todos os recursos do SAP BW que não têm suporte total ou que têm comportamento diferente ao usar o conector do SAP BW no Power Query.
Recurso | Descrição |
---|---|
Cálculos locais | Os cálculos locais definidos em uma consulta BEX alterarão os números exibidos por meio de ferramentas como o Bex Analyzer. No entanto, eles não são refletidos nos números retornados pelo SAP por meio da interface pública do MDX. Dessa forma, os números vistos no Power Query não corresponderão necessariamente aos números de um visual correspondente em uma ferramenta do SAP. Por exemplo, ao se conectar a um cubo de consulta de uma consulta do BEx que define a agregação como Acumulada (por exemplo, a soma parcial), o Power Query receberia os números base, ignorando essa configuração. Um analista poderia, então, aplicar um cálculo de soma parcial localmente no Power BI, por exemplo, mas precisaria ter cuidado com a forma como os números seriam interpretados se isso não fosse feito. |
Agregações | Em alguns casos (especialmente ao lidar com várias moedas), os números agregados retornados pela interface pública do SAP não correspondem àqueles mostrados por ferramentas do SAP. Dessa forma, os números vistos no Power Query não corresponderão necessariamente aos números de um visual correspondente em uma ferramenta do SAP. Por exemplo, valores totais relativos a moedas diferentes seriam mostrados como "*" no Bex Analyzer, mas o total seria retornado pela interface pública do SAP, sem nenhuma informação de que esse número agregado não tem significado. Assim, o número (agregando, digamos, US$, EUR e AUD) seria exibido pelo Power Query. |
Formatação de moeda | As formatações de moeda (por exemplo, US$ 2.300 ou AUD 4.000) não serão refletida no Power Query. |
Unidades de medida | Unidades de medida (por exemplo, 230 KG) não são refletidas no Power Query. |
Chave versus texto (curto, médio, longo) | Para uma característica do SAP BW como o CostCenter, o navegador mostrará um único item Centro de Custo Nível 01. A seleção deste item incluirá o texto padrão do Centro de Custos na lista de campos. Além disso, os valores Chave, Nome Curto, Nome Médio e Nome Longo estão disponíveis para seleção no nó Propriedades para a característica (se mantido no SAP BW). Observe que isso só se aplica ao modo de conectividade de Importação. Para o modo DirectQuery, somente o texto padrão será incluído no conjunto de dados. |
Atributos | Os atributos de uma característica estarão disponíveis para seleção nas Propriedades da característica. Isso só se aplica ao modo de conectividade de Importação. No modo DirectQuery, os atributos não estarão disponíveis. |
Várias hierarquias de uma característica | No SAP, uma característica pode ter várias hierarquias. Em ferramentas como o BEx Analyzer, quando uma característica é incluída em uma consulta, o usuário pode selecionar a hierarquia a ser usada. No Power BI, as diversas hierarquias podem ser vistas na lista de campos como hierarquias diferentes na mesma dimensão. No entanto, a seleção de vários níveis de duas hierarquias diferentes na mesma dimensão resultará em dados vazios sendo retornados pelo SAP. |
Tratamento de hierarquias desbalanceadas | O SAP BW dá suporte a hierarquias irregulares, em que níveis podem estar ausentes, por exemplo: Continente Américas Canadá EUA Not Assigned Austrália No Power BI, isso aparece com (em branco) no nível ausente: Continente Américas Canadá EUA Not Assigned (Em branco) Austrália |
Fator de escala/inverter sinal | No SAP, um valor-chave pode ter um fator de escala (por exemplo, 1.000) definido como uma opção de formatação, o que significa que toda a exibição será dimensionada segundo esse fator. Da mesma forma, ele pode ter uma propriedade definida que inverte o sinal. O uso de tal valor-chave no Power BI (em um visual ou como parte de um cálculo) fará com que o número sem a escala seja usado (e com que o sinal não seja invertido). O fator de escala subjacente não está disponível. Em visuais do Power BI, as unidades de escala mostradas no eixo (K, M, B) podem ser controladas como parte da formatação do visual. |
Hierarquias em que os níveis apareceram/desaparecerem dinamicamente | Inicialmente, ao conectar-se ao SAP BW, as informações sobre os níveis de uma hierarquia serão recuperadas, resultando em um conjunto de campos na lista de campos. Isso é armazenado em cache e, se o conjunto de níveis for alterado, o conjunto de campos não será alterado até que Atualizar seja invocado. Isso só é possível no Power BI Desktop. Essa Atualização para refletir as alterações nos níveis, não pode ser invocada no serviço do Power BI após a publicação. |
Filtro padrão | Uma consulta BEX pode incluir filtros padrão, que serão aplicados automaticamente pelo SAP Bex Analyzer. Eles não são expostos e, portanto, o uso equivalente no Power Query não aplicará os mesmo filtros por padrão. |
Valores-chave ocultos | Uma consulta do BEX pode controlar a visibilidade dos Valores-chave e aqueles que estiverem ocultos não aparecerão no SAP BEx Analyzer. Isso não é refletido pela API pública e, portanto, esses valores-chave ocultos ainda aparecerão na lista de campos. No entanto, depois eles podem ser ocultados no Power Query. |
Formatação numérica | Qualquer formatação numérica (número de casas decimais, ponto decimal e assim por diante) não será refletida automaticamente no Power Query. No entanto, é possível controlar essa formatação posteriormente no Power Query. |
Controle de versão de hierarquia | O SAP BW permite que diferentes versões de uma hierarquia sejam mantidas, por exemplo, a hierarquia de centro de custo de 2007 versus a de 2008. Somente a versão mais recente estará disponível no Power Query, uma vez que as informações sobre versões não são expostas pela API pública. |
Hierarquias dependentes de tempo | Ao usar o Power Query, as hierarquias dependentes de tempo são avaliadas na data atual. |
Conversão de moeda | O SAP BW dá suporte à conversão de moeda com base em taxas mantidas no cubo. Tais funcionalidades não são expostas pela API pública e, portanto, não estão disponíveis no Power Query. |
Ordem de classificação | A ordem de classificação (por Texto ou por Chave) para uma característica pode ser definida no SAP. Essa ordem de classificação não se reflete no Power Query. Por exemplo, os meses podem aparecer como "Abril", "Agosto" e assim por diante. Não é possível alterar essa ordem de classificação no Power Query. |
Nomes técnicos | No navegador, os nomes (descrições) de característica/medida e os nomes técnicos podem ser exibidos usando o seletor de Opções de Exibição. A lista de campos contém os nomes (descrições) das características/medidas. |
Configuração de idioma do usuário final | A localidade usada para se conectar ao SAP BW é definida como parte dos detalhes da conexão e não reflete a localidade do consumidor do relatório final. |
Variáveis de texto | O SAP BW permite que nomes de campos contenham placeholders para variáveis (por exemplo, "Dados reais de $YEAR$") que seriam substituídas pelo valor selecionado. Por exemplo, o campo aparecerá como "Dados reais de 2016" em ferramentas BEx se o ano 2016 tiver sido selecionado para a variável. O nome da coluna no Power Query não será alterado dependendo do valor de variável e, portanto, será exibido como "Dados reais de $YEAR$". No entanto, o nome da coluna pode ser alterado no Power Query posteriormente. |
Variáveis de saída do cliente | Variáveis de Saída do Cliente não são expostas pela API pública e, portanto, não têm suporte no Power Query. |
Considerações sobre desempenho
A tabela a seguir fornece uma lista resumida de sugestões para melhorar o desempenho do carregamento de dados e atualização do SAP BW.
Sugestão | Descrição |
---|---|
Limitar seleção de características e propriedades (atributo) | O tempo necessário para carregar os dados do SAP BW no Power Query aumenta com o tamanho do conjunto de dados, ou seja, o número de colunas e linhas no conjunto de resultados nivelado. Para reduzir o número de colunas, selecione apenas as características e as propriedades no navegador que você provavelmente vai querer ver em seu relatório ou painel. |
Fazer uso de parâmetros | O uso de filtros/parâmetros contribui para reduzir o tamanho do conjunto de resultados, o que melhora significativamente os runtimes de consulta. Os parâmetros são especialmente valiosos quando usados com dimensões grandes, em que há muitos membros, como clientes, materiais ou números de documentos. |
Limitar número de valores-chave | A seleção de muitos valores-chave de um modelo de consulta BEx/BW pode ter um impacto significativo no desempenho durante a execução da consulta devido ao tempo gasto no carregamento de metadados para unidades. Inclua apenas os valores-chave necessários no Power Query. |
Dividir consultas muito grandes em várias consultas menores | Pode ser benéfico dividir consultas muito grandes em InfoCubes ou BEx. Por exemplo, uma consulta pode estar obtendo os valores-chave, enquanto outra consulta (ou várias outras consultas), obtendo os dados de características. Você pode juntar os resultados da consulta individual no Power Query. |
Evitar provedores virtuais (MultiProviders ou InfoSets) | VirtualProviders são semelhantes a estruturas sem armazenamento persistente. Eles são úteis em muitos cenários, mas podem gerar desempenho de consulta mais lento porque representam uma camada adicional aos dados reais. |
Evitar o uso de atributos de navegação na consulta do BEx | Uma consulta com um atributo de navegação precisa executar uma junção adicional, em comparação com uma consulta com o mesmo objeto como característica para chegar aos valores. |
Usar o RSRT para monitorar e solucionar problemas de consultas com execução lenta | Seu Administrador do SAP pode usar o Monitor de Consultas no SAP BW (transação RSRT) para analisar problemas de desempenho com consultas do SAP BW. Examine a Nota do SAP 1591837 para obter mais informações. |
Evitar valores-chave restritos e valores-chave calculados | Ambos são calculados durante a execução da consulta e podem diminuir o desempenho da consulta. |
Considere usar a atualização incremental para melhorar o desempenho | O Power BI atualiza o conjunto de dados completo a cada atualização. Se você estiver trabalhando com um grande volume de dados, a atualização do conjunto de dados completo em cada atualização pode não ser o ideal. Nesse cenário, você pode usar a atualização incremental, atualizando assim apenas um subconjunto dos dados. Para obter mais detalhes, acesse Atualização incremental no Power BI. |
Comparação com Analysis for Office (AFO)
Há diferenças fundamentais entre a ferramenta Analysis for Office (AFO) e o conector SAP Business Warehouse do Power Query, portanto, as saídas dos dados podem ser diferentes. O AFO não usa MDX, mas usa um protocolo proprietário desenvolvido pela SAP que não está disponível para terceiros, como o conector SAP Business Warehouse do Power Query. A SAP certifica apenas conectores que usam a interface MDX. O AFO usa uma estratégia de consulta multidimensional, que navega pelos dados de forma diferente, enquanto o conector SAP Business Warehouse do Power Query precisa nivelar os dados para que possam ser representados como uma tabela. Portanto, mesmo que sejam os mesmos dados, eles são consultados, representados e, em última análise, gerados de forma diferente.