Detalhes da implementação
Este artigo descreve informações de conversão e recursos específicos disponíveis na Implementação 2 do conector do Power Query SAP Business Warehouse.
Importante
A versão 1.0 do conector do SAP Business Warehouse foi preterida. Novas conexões usarão a implementação 2.0 do conector SAP Business Warehouse. Todo o suporte para a versão 1.0 será removido do conector em um futuro próximo. Use as informações neste artigo para atualizar relatórios existentes da versão 1.0 para que eles possam usar a implementação 2.0 deste conector.
Novas opções para a Implementação 2.0
A implementação 2.0 suporta 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 predefinido é
SapBusinessWarehouseExecutionMode.BasXmlGzip
.O uso
SapBusinessWarehouseExecutionMode.BasXmlGzip
pode melhorar o desempenho ao experimentar alta latência para grandes conjuntos de dados.
BatchSize especifica o número máximo de linhas a serem recuperadas de cada vez ao executar uma instrução MDX. Um pequeno número se traduz em mais chamadas para o servidor enquanto recupera um grande conjunto de dados. 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 para essa opção é false. Afeta a lista de objetos disponíveis para seleção. Não suportado no modo de consulta nativo.
A opção ScaleMeasures foi preterida 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 algumas das melhorias adicionais que vêm com a nova implementação:
- Melhor desempenho.
- Capacidade de recuperar vários milhões de linhas de dados e ajuste fino através do parâmetro de tamanho de lote.
- Capacidade de alternar modos de execução.
- Suporte para modo comprimido. Especialmente benéfico para conexões de alta latência ou grandes conjuntos de dados.
- Melhor deteção de
Date
variáveis. - Exponha
Date
as dimensões (DATS tipo ABAP) eTime
(TIMS tipo ABAP) como datas e horas, respectivamente, em vez de valores de texto. Para obter mais informações: Suporte para datas digitadas no SAP BW - Melhor tratamento de exceções. Erros que ocorrem em chamadas BAPI agora são revelados.
- Dobragem 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á passada para o 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 estes passos:
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
SapBusinessWarehouse.Cubes
chamada da seguinte maneira:Determine se a consulta já contém um registro de opção, como o exemplo a seguir.
Em caso afirmativo, adicione a
Implementation 2.0
opção e remova aScaleMeasures
opção, se presente, conforme mostrado.Se a consulta ainda não incluir um registro de opções, basta adicioná-lo. Para a seguinte opção:
Basta alterá-lo para:
Todos os esforços foram feitos para tornar a implementação 2.0 do conector SAP BW compatível com a versão 1. No entanto, pode haver algumas diferenças devido aos diferentes modos de execução SAP BW MDX que estão sendo usados. Para resolver quaisquer discrepâncias, tente alternar entre os modos de execução.
Suporte para datas digitadas no SAP BW
A implementação 2.0 do conector SAP BW inclui suporte para datas e horas digitadas. Se você consultar um relatório que tenha dimensões com tipos ABAP, DATS ou TIMS, elas agora podem ser saídas como datas em vez de texto.
As limitações para usar essa funcionalidade são:
- Disponível apenas na Implementação 2.0 do conector SAP BW.
- Disponível apenas 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 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. Dia do calendário Nível 01 [0CALDAY] será texto (uma legenda). (Adicionado por padrão quando a dimensão é adicionada.)
- Dia do calendário. Dia do calendário Nível 01.Key [20CALDAY] será uma data (deve ser selecionado manualmente).
Para adicionar manualmente a chave no modo de importação, basta expandir Propriedades e selecionar a chave.
A coluna chave será do tipo data e pode 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 são totalmente suportados ou se comportam de forma diferente ao usar o conector SAP BW do Power Query.
Funcionalidade | Description |
---|---|
Cálculos locais | Os cálculos locais definidos em uma consulta BEX alterarão os números conforme exibidos por meio de ferramentas como o Bex Analyzer. No entanto, eles não são refletidos nos números retornados do SAP, através da interface pública MDX. Como tal, os números vistos no Power Query não corresponderão necessariamente aos de um visual correspondente numa ferramenta SAP. Por exemplo, ao ligar a um cubo de consulta a partir de uma consulta BEx que define a agregação como Cumulada (por exemplo, soma em execução), o Power Query recupera os números base, ignorando essa definição. Um analista poderia então aplicar um cálculo de soma em execução localmente, por exemplo, no Power BI, mas precisaria ter cautela na forma como os números são interpretados se isso não for feito. |
Agregações | Em alguns casos (particularmente ao lidar com várias moedas), os números agregados retornados pela interface pública SAP não correspondem aos mostrados pelas ferramentas SAP. Como tal, os números vistos no Power Query não corresponderão necessariamente aos de um visual correspondente numa ferramenta SAP. Por exemplo, totais em moedas diferentes seriam mostrados como "*" no Bex Analyzer, mas o total seria retornado pela interface pública SAP, sem qualquer informação de que tal número agregado não tem sentido. Assim, o número (agregando, digamos, $, EUR e AUD) seria exibido pelo Power Query. |
Formatação de moeda | Qualquer formatação de moeda (por exemplo, $2.300 ou 4000 AUD) não é refletida no Power Query. |
Unidades de medida | As unidades de medida (por exemplo, 230 KG) não são refletidas no Power Query. |
Tecla versus texto (curto, médio, longo) | Para uma característica do SAP BW como o CostCenter, o navegador mostrará um único item Cost Center Level 01. A seleção deste item incluirá o texto padrão para Centro de Custo na lista de campos. Além disso, os valores Valor de chave, Nome curto, Nome médio e Nome longo estão disponíveis para seleção no nó Propriedades da característica (se mantidos no SAP BW). Observe que isso só se aplica ao modo de conectividade de importação. Para o modo DirectQuery, apenas 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. Para o modo DirectQuery, os atributos não estarão disponíveis. |
Múltiplas hierarquias de uma característica | No SAP, uma característica pode ter várias hierarquias. Em seguida, 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 várias 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 resultará em dados vazios retornados pelo SAP. |
Tratamento de hierarquias irregulares | O SAP BW suporta hierarquias irregulares, onde os níveis podem ser perdidos, por exemplo: Continente Américas Canadá EUA Não atribuído Austrália No Power BI, isso aparece com (Em branco) no nível ausente: Continente Américas Canadá EUA Não atribuído (Em branco) Austrália |
Fator de escala/sinal inverso | No SAP, um índice pode ter um fator de escala (por exemplo, 1000) definido como uma opção de formatação, o que significa que todos os monitores serão dimensionados por esse fator. Da mesma forma, pode ter um conjunto de propriedades que inverte o sinal. O uso dessa figura-chave no Power BI (em um visual ou como parte de um cálculo) resultará no número não dimensionado sendo usado (e o sinal não será revertido). O fator de dimensionamento subjacente não está disponível. Nos visuais do Power BI, as unidades de escala mostradas no eixo (K,M,B) podem ser controladas como parte da formatação visual. |
Hierarquias onde os níveis aparecem/desaparecem 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 mudar, 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 Publicar. |
Filtro padrão | Uma consulta BEX pode incluir filtros padrão, que serão aplicados automaticamente pelo SAP Bex Analyzer. Estes não são expostos e, portanto, a utilização equivalente no Power Query não aplicará os mesmos filtros por predefinição. |
Números-chave ocultos | Uma consulta BEX pode controlar a visibilidade de Key Figures, e aqueles que estão ocultos não aparecerão no SAP BEx Analyzer. Isso não é refletido através da API pública e, portanto, esses índices ocultos ainda aparecerão na lista de campos. No entanto, eles podem ficar ocultos no 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 no Power Query. |
Controle de versão da hierarquia | O SAP BW permite que diferentes versões de uma hierarquia sejam mantidas, por exemplo, a hierarquia do centro de custo em 2007 versus 2008. Apenas 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 do tempo | Ao utilizar o Power Query, as hierarquias dependentes do tempo são avaliadas na data atual. |
Conversão de divisas | O SAP BW suporta conversão de moeda, com base nas taxas mantidas no cubo. Esses recursos não são expostos pela API pública e, portanto, não estão disponíveis no Power Query. |
Sequência de Ordenação | A ordem de classificação (por Texto ou por Chave) para uma característica pode ser definida no SAP. Esta ordem de ordenação não é refletida no Power Query. Por exemplo, os meses podem aparecer como "abril", "agosto" e assim por diante. Não é possível alterar esta ordem de ordenação no Power Query. |
Nomes técnicos | No navegador, os nomes de características/medidas (descrições) e os nomes técnicos podem ser exibidos usando o seletor Opções de Exibição. A lista de campos contém os nomes das 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 do relatório final. |
Variáveis de texto | O SAP BW permite que os nomes de campo contenham espaços reservados para variáveis (por exemplo, "$YEAR$ Actuals") que seriam substituídas pelo valor selecionado. Por exemplo, o campo aparece como "2016 Actuals" nas ferramentas BEx, se o ano 2016 foi selecionado para a variável. O nome da coluna no Power Query não será alterado dependendo do valor da variável e, portanto, aparecerá como "$YEAR$ Reais". No entanto, o nome da coluna pode ser alterado no 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. |
Performance Considerations (Aplicações das Funções do Azure: Considerações de Desempenho)
A tabela a seguir fornece uma lista resumida de sugestões para melhorar o desempenho de carga e atualização de dados do SAP BW.
Sugestão | Description |
---|---|
Limitar a seleção de características e propriedades (atributo) | O tempo necessário para carregar 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 propriedades no navegador que você eventualmente deseja 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 tempos de execução da 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 índices | A seleção de muitos índices 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 índices de que necessita no Power Query. |
Divida 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 índices principais, enquanto outra consulta (ou várias outras consultas) está obtendo os dados de características. Pode juntar os resultados individuais da consulta no Power Query. |
Evite provedores virtuais (MultiProviders 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 tem que executar uma junção adicional, em comparação com uma consulta com o mesmo objeto como uma característica, para chegar aos valores. |
Use o RSRT para monitorar e solucionar problemas de consultas de execução lenta | O administrador do SAP pode usar o Query Monitor no SAP BW (RSRT de transação) para analisar problemas de desempenho com consultas SAP BW. Consulte a 1591837 de notas SAP para obter mais informações. |
Evite índices restritos e índices calculados | Ambos são calculados durante a execução da consulta e podem diminuir o desempenho da consulta. |
Considere o uso da 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, atualizar o conjunto de dados completo em cada atualização pode não ser o ideal. Nesse cenário, você pode usar a atualização incremental, para que você esteja atualizando apenas um subconjunto de dados. Para obter mais detalhes, vá para Atualização incremental no Power BI. |
Comparação com o Analysis for Office (AFO)
Existem diferenças fundamentais entre a ferramenta Analysis for Office (AFO) e o conector do Power Query SAP Business Warehouse, pelo que as saídas de dados podem diferir. 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 do Power Query SAP Business Warehouse. O 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 do Power Query SAP Business Warehouse 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, produzidos de forma diferente.