Detalhes de implementação

Este artigo descreve informações de conversão e recursos específicos disponíveis na Implementação 2 do Power Query SAP Business Warehouse conector.

Novas opções da Implementação 2.0

A Implementação 2.0 é compatível as 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 em períodos de alta latência envolvendo grandes conjuntos de dados.

  • BatchSize especifica o número máximo de linhas que serão recuperadas de cada vez durante a execução de uma instrução MDX. Um número pequeno gerará mais chamadas para o servidor, mas recuperará um conjunto de dados grande. Um número grande de linhas pode melhorar o desempenho, mas pode causar problemas de memória no servidor do SAP BW. O valor padrão é 50000 linhas.

  • EnableStructures indica se as estruturas de característica são reconhecidas. O valor padrão dessa opção é false. Afeta a lista de objetos disponíveis para seleção. Não é compatível com o modo de consulta nativa.

A opção ScaleMeasures foi preterida nesta implementação. O comportamento agora é igual ao de se configurar ScaleMeasures como false, sempre mostrando valores fora de escala.

Melhorias adicionais para a Implementação 2.0

Esta lista descreve algumas das melhorias adicionais que a nova implementação apresenta:

  • 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 o modo compactado. Principalmente útil para conexões de alta latência ou grandes conjuntos de dados.
  • Melhoria na detecção de variáveis Date.
  • Exponha Date (ABAP tipo DATS) e Time (ABAP tipo TIMS) como datas e horas, respectivamente, em vez de valores de texto. Mais informações: Suporte para datas digitados no SAP BW
  • Melhoria no tratamento de exceção. Os erros que ocorrem em chamadas BAPI agora são apresentados.
  • Particionamento de coluna 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á passada para o servidor para recuperar um conjunto de dados menor.

Alterar os relatórios existentes para usar a Implementação 2.0

A alteração nos relatórios existentes para usar a Implementação 2.0 só é possível no modo de importação. Siga estas etapas:

  1. Abra um relatório existente, selecione Editar Consultas na faixa de opções e selecione a consulta do SAP Business Warehouse a ser atualizada.

  2. Clique com o botão direito do mouse na consulta e selecione Editor Avançado.

  3. 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.

    A captura de tela mostra uma consulta em texto sem formatação com um registro de opção.

    Em caso afirmado, Implementation 2.0 adicione a opção e remova a opção , se ScaleMeasures presente, conforme mostrado.

    A captura de tela mostra uma consulta em texto sem formatação com o valor adicionado Implementação = 2.0.

    Se a consulta ainda não incluir um registro de opções, adicione-o. Para a seguinte opção:

    A captura de tela mostra uma consulta em texto sem formatação com um registro de opção adicionado.

    Altere-o para:

    A captura de tela mostra uma consulta em texto sem formatação da nova opção com o valor adicionado Implementação = 2.0.

Foram feitos todos os esforços para tornar a Implementação 2.0 do conector SAP BW compatível com a versão 1. No entanto, poderá haver algumas diferenças por conta dos diferentes modos de execução de MDX do SAP BW que estejam sendo usados. Para resolver conflitos, tente alternar entre os modos de execução.

Suporte para datas digitados no SAP BW

A implementação 2.0 do conector SAP BW inclui suporte para datas e horas digitados. Se você consultar um relatório que tenha dimensões com ABAP tipos, DATS ou TIMS, eles agora poderão ser produzidos como datas em vez de texto.

As limitações para usar essa funcionalidade são:

  • Disponível somente na Implementação 2.0 do SAP BW conector.
  • Disponível somente no modo de importação.
  • A conta usada para se conectar ao servidor 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 no para acessar a data digitada. Por exemplo, se houver um atributo de dimensão chamado [0CALDAY], você precisará adicionar a chave [20CALDAY] para obter o valor digitado.

No exemplo acima, isso significa que:

  • Dia do calendário. O nível do dia do calendário 01 [0CALDAY] será texto (uma legenda). (Adicionado por padrão quando a dimensão é adicionada.)
  • Dia do calendário. Nível do dia do calendário 01.Key [20CALDAY] será uma data (deve ser selecionada manualmente).

Para adicionar manualmente a chave no modo de Importação, basta expandir Propriedades e selecionar a chave.

Selecionando a propriedade Key no navegador Power Query dados.

A coluna de chave será do tipo date e poderá ser usada para filtragem. A filtragem nessa coluna será dobrada para o servidor.

Suporte para recursos do SAP BW

A tabela a seguir lista SAP BW recursos que não têm suporte total ou se comportarão de maneira diferente ao usar o conector Power Query SAP BW.

Recurso Descrição
Cálculos locais Cálculos locais definidos em uma Consulta do BEX alteram os números com relação à forma como eles são exibidos por meio de ferramentas como o Bex Analyzer. No entanto, eles não são refletidos nos números retornados do SAP, por meio da interface MDX pública.

Assim, os números vistos em Power Query não corresponderão necessariamente àqueles de um visual correspondente em uma ferramenta SAP.

Por exemplo, ao se conectar a um cubo de consulta de uma consulta BEx que define a agregação a ser cumulada (por exemplo, executar soma), o Power Query obteria de volta os números base, ignorando essa configuração. Um analista poderia aplicar um cálculo de soma em execução localmente em, por exemplo, Power BI, mas precisaria ter cuidado em como os números são interpretados se isso não for 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 são equivalentes aos mostrados pelas ferramentas sap.

Assim, os números vistos em Power Query não corresponderão necessariamente àqueles de um visual correspondente em uma ferramenta SAP.

Por exemplo, totais em moedas diferentes apareceriam 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 sentido. Portanto, o número (agregando, digamos, $, EUR e AUD) seria exibido por Power Query.
Formatação de moeda Qualquer formatação de moeda (por exemplo, US$ 2.300 ou 4.000 AUD) não é refletida no Power Query.
Unidades de medida Unidades de medida (por exemplo, 230 KG) não são refletidas em Power Query.
Chave versus texto (curto, médio, longo) Para uma SAP BW como CostCenter, o navegador mostrará um único item nível 01 do Centro de Custo. A seleção desse 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 mantida em SAP BW).

Observe que isso só se aplica ao modo importar conectividade. 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 para a característica. Isso se aplica somente ao modo importar conectividade. Para o 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, selecionar vários níveis de duas hierarquias diferentes na mesma dimensão fará com que dados vazios sejam retornados pelo SAP.
Tratamento de hierarquias desbalanceadas O SAP BW dá suporte a Hierarquias desbalanceadas, em que os níveis podem ser perdidos, por exemplo:

   Continente
      Américas
         Canadá
         NOS
   Não atribuído
      Austrália

em Power BI, isso aparece com (em branco) no nível ausente:

   Continente
      Américas
         Canadá
         NOS
   Não atribuído
      Ficará
         Austrália
Fator de escala/inverter sinal No SAP, um valor de chave pode ter um fator de dimensionamento (por exemplo, 1000) definido como uma opção de formatação, o que significa que todas as exibições serão dimensionadas por esse fator.

Da mesma forma, ele pode ter uma propriedade definida que inverte o sinal. o uso de tal valor de chave em Power BI (em um visual ou como parte de um cálculo) fará com que o número não dimensionado seja usado (e o sinal não seja invertido). O fator de dimensionamento 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 se conectar ao SAP BW, as informações nos 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 a atualização seja invocada.

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 de Power BI após a publicação.
Filtro padrão Uma consulta do 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 mesmos filtros por padrão.
Valores-chave ocultos Uma consulta BEX pode controlar A visibilidade dos principais valores, e os ocultos não aparecerão no SAP BEx Analyzer. Isso não é refletido por meio da API pública e, portanto, esses valores de chave ocultos ainda aparecerão na lista de campos. No entanto, eles podem ser ocultados em Power Query.
Formatação numérica Qualquer formatação numérica (número de posições decimais, ponto decimal e assim por diante) não será refletida automaticamente no Power Query. No entanto, é possível controlar essa formatação dentro do 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, pois as informações sobre as versões não são expostas pela API pública.
Hierarquias dependentes de tempo Ao usar 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. Esses recursos não são expostos pela API pública e, portanto, não estão disponíveis em Power Query.
Ordem de classificação A ordem de classificação (por texto ou por chave) de uma característica pode ser definida no SAP. Essa ordem de classificação não é refletida no Power Query. Por exemplo, meses podem aparecer como "Abril", "agosto" e assim por diante.

Não é possível alterar essa ordem de classificação em Power Query.
Nomes técnicos No navegador, os nomes de característica/medida (descrições) e nomes técnicos podem ser exibidos usando o seletor de opções de exibição. A lista de campos contém os nomes de características/medidas (descrições).
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 final do relatório.
Variáveis de texto O SAP BW permite que os nomes de campos contenham espaços reservados para variáveis (por exemplo, "Dados reais de $YEAR$") que, por sua vez, 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 em Power Query não será alterado dependendo do valor da variável e, portanto, apareceria como "$YEAR $ reals". No entanto, o nome da coluna pode ser alterado em Power Query.
Variáveis de saída do cliente As variáveis de saída do cliente não são expostas pela API pública e, portanto, não são suportadas pelo Power Query.

Considerações sobre desempenho

A tabela a seguir fornece uma lista resumida de sugestões para melhorar o desempenho de carregamento de dados e atualização de SAP BW.

Sugestão Descrição
Limitar características e Propriedades (atributo) seleção O tempo necessário para carregar os dados de SAP BW em Power Query aumenta com o tamanho do conjunto, ou seja, o número de colunas e linhas no conjunto de resultados mesclados. Para reduzir o número de colunas, selecione apenas as características e propriedades no navegador que você eventualmente deseja ver no 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 tempos de execução de consulta.

Os parâmetros são especialmente valiosos quando usados com grandes dimensões, onde há muitos membros, como clientes, materiais ou números de documentos.
Limitar o número de valores de chave A seleção de muitos valores principais de um modelo de consulta/BW BEx 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 principais necessários na Power Query.
Dividir consultas muito grandes em várias consultas menores Para consultas muito grandes em consultas InfoCubes ou BEx, pode ser benéfico dividir a consulta. Por exemplo, uma consulta pode estar obtendo os valores principais, enquanto outra consulta (ou várias outras consultas) está obtendo os dados de características. Você pode unir os resultados da consulta individual em Power Query.
Evitar provedores virtuais (multifornecedores ou InfoSets) VirtualProviders são semelhantes a estruturas sem armazenamento persistente. Eles são úteis em muitos cenários, mas podem mostrar um desempenho de consulta mais lento porque representam uma camada adicional sobre os dados reais.
Evite o uso de atributos de navegação na consulta BEx Uma consulta com um atributo de navegação deve executar uma junção adicional, comparada com uma consulta com o mesmo objeto como uma característica para chegar aos valores.
Usar o RSRT para monitorar e solucionar problemas de consultas em execução lenta O administrador do SAP pode usar o monitor de consulta em SAP BW (transação RSRT) para analisar problemas de desempenho com SAP BW consultas. Examine a observação do SAP 1591837 para obter mais informações.
Evite valores de chave restrita e valores de chave calculados Ambos são calculados durante a execução da consulta e podem retardar o desempenho da consulta.
Considere usar a atualização incremental para melhorar o desempenho Power BI atualiza o conjunto de total com cada atualização. Se você estiver trabalhando com um grande volume de dados, a atualização do conjunto de dado completo em cada atualização pode não ser a ideal. Nesse cenário, você pode usar a atualização incremental e, portanto, está atualizando apenas um subconjunto de dados. Para obter mais detalhes, acesse atualização incremental em Power bi.

Confira também