Dettagli sull'implementazione

Questo articolo descrive le informazioni sulla conversione e le funzionalità specifiche disponibili nell'implementazione 2 del connettore SAP Business Warehouse di Power Query.

Importante

La versione 1.0 del connettore SAP Business Warehouse è stata deprecata. Le nuove connessioni useranno l'implementazione 2.0 del connettore SAP Business Warehouse. Tutto il supporto per la versione 1.0 verrà rimosso dal connettore nel prossimo futuro. Usare le informazioni contenute in questo articolo per aggiornare i report della versione 1.0 esistenti in modo che possano usare l'implementazione 2.0 di questo connettore.

Nuove opzioni per l'implementazione 2.0

L'implementazione 2.0 supporta le opzioni seguenti:

  • ExecutionMode specifica l'interfaccia MDX usata per eseguire query sul server. Le opzioni seguenti sono valide:

    • SapBusinessWarehouseExecutionMode.BasXml

    • SapBusinessWarehouseExecutionMode.BasXmlGzip

    • SapBusinessWarehouseExecutionMode.DataStream

      Il valore predefinito è SapBusinessWarehouseExecutionMode.BasXmlGzip.

      L'uso SapBusinessWarehouseExecutionMode.BasXmlGzip di può migliorare le prestazioni quando si verifica una latenza elevata per set di dati di grandi dimensioni.

  • BatchSize specifica il numero massimo di righe da recuperare alla volta durante l'esecuzione di un'istruzione MDX. Un numero ridotto si traduce in più chiamate al server durante il recupero di un set di dati di grandi dimensioni. Un numero elevato di righe può migliorare le prestazioni, ma potrebbe causare problemi di memoria nel server SAP BW. Il valore predefinito è 50000 righe.

  • EnableStructures indica se le strutture delle caratteristiche vengono riconosciute. Il valore predefinito di questa opzione è false. Influisce sull'elenco di oggetti disponibili per la selezione. Non supportato in modalità query nativa.

L'opzione ScaleMeasures è stata deprecata in questa implementazione. Il comportamento è ora uguale all'impostazione di ScaleMeasures su false, che mostra sempre i valori non ridimensionati.

Miglioramenti aggiuntivi per l'implementazione 2.0

L'elenco seguente descrive alcuni dei miglioramenti aggiuntivi disponibili con la nuova implementazione:

  • Prestazioni migliorate.
  • Possibilità di recuperare diverse milioni di righe di dati e di ottimizzazione tramite il parametro delle dimensioni del batch.
  • Possibilità di cambiare modalità di esecuzione.
  • Supporto per la modalità compressa. Particolarmente utile per connessioni a latenza elevata o set di dati di grandi dimensioni.
  • Miglioramento del rilevamento delle Date variabili.
  • Esporre Date (tipo ABAP DATS) e Time (tipo ABAP TIMS) dimensioni rispettivamente come date e ore, anziché valori di testo. Altre informazioni: Supporto per le date tipate in SAP BW
  • Migliore gestione delle eccezioni. Gli errori che si verificano nelle chiamate BAPI vengono ora visualizzati.
  • Riduzione della colonna nelle modalità BasXml e BasXmlGzip. Ad esempio, se la query MDX generata recupera 40 colonne, ma la selezione corrente richiede solo 10, questa richiesta verrà passata al server per recuperare un set di dati più piccolo.

Modifica dei report esistenti per l'uso dell'implementazione 2.0

La modifica dei report esistenti per l'uso dell'implementazione 2.0 è possibile solo in modalità di importazione. Seguire questa procedura:

  1. Aprire un report esistente, selezionare Modifica query nella barra multifunzione e quindi selezionare la query SAP Business Warehouse da aggiornare.

  2. Fare clic con il pulsante destro del mouse sulla query e selezionare Editor avanzato.

  3. Nella Editor avanzato modificare la SapBusinessWarehouse.Cubes chiamata come segue:

    Determinare se la query contiene già un record di opzione, ad esempio l'esempio seguente.

    Screenshot che mostra una query di testo non crittografato con un record di opzione.

    In tal caso, aggiungere l'opzione Implementation 2.0 e rimuovere l'opzione ScaleMeasures , se presente, come illustrato.

    Screenshot che mostra una query in testo non crittografato con il valore aggiunto Implementazione = 2.0.

    Se la query non include già un record di opzioni, aggiungerlo. Per l'opzione seguente:

    Screenshot che mostra una query di testo non crittografato con un record di opzione aggiunto.

    È sufficiente modificarlo in:

    Screenshot che mostra una query in testo non crittografato della nuova opzione con il valore aggiunto Implementazione = 2.0.

Ogni sforzo è stato fatto per rendere compatibile l'implementazione 2.0 del connettore SAP BW con la versione 1. Tuttavia, potrebbero esserci alcune differenze a causa delle diverse modalità di esecuzione MDX di SAP BW in uso. Per risolvere eventuali discrepanze, provare a passare da una modalità di esecuzione all'altra.

Supporto per le date tipate in SAP BW

L'implementazione 2.0 del connettore SAP BW include il supporto per date e ore digitate. Se si esegue una query su un report con dimensioni con tipi ABAP, DATS o TIMS, possono ora essere restituiti come date anziché come testo.

Le limitazioni per l'uso di questa funzionalità sono:

  • Disponibile solo nell'implementazione 2.0 del connettore SAP BW.
  • Disponibile solo in modalità importazione.
  • L'account usato per connettersi al server SAP BW deve disporre di autorizzazioni sufficienti per chiamare 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"

È necessario aggiungere la chiave in per accedere alla data tipizzata. Ad esempio, se è presente un attributo della dimensione denominato [0CALDAY], è necessario aggiungere la chiave [20CALDAY] per ottenere il valore tipizzato.

Nell'esempio precedente, ciò significa che:

  • Giorno del calendario. Il livello 01 del giorno del calendario [0CALDAY] sarà testo (un didascalia). Aggiunta per impostazione predefinita quando viene aggiunta la dimensione.
  • Giorno del calendario. Il livello del giorno del calendario 01.Key [20CALDAY] sarà una data (deve essere selezionata manualmente).

Per aggiungere manualmente la chiave in modalità di importazione, è sufficiente espandere Proprietà e selezionare la chiave.

Selezione della proprietà Key nello strumento di navigazione di Power Query.

La colonna chiave sarà di tipo date e può essere usata per il filtro. Il filtro in base a questa colonna verrà piegato al server.

Supporto per le funzionalità di SAP BW

La tabella seguente elenca tutte le funzionalità SAP BW non completamente supportate o si comportano in modo diverso quando si usa il connettore SAP BW di Power Query.

Funzionalità Descrizione
Calcoli locali I calcoli locali definiti in una query BEX modificheranno i numeri visualizzati tramite strumenti come Bex Analyzer. Tuttavia, non si riflettono nei numeri restituiti da SAP, tramite l'interfaccia MDX pubblica.

Di conseguenza, i numeri visualizzati in Power Query non corrispondono necessariamente a quelli per un oggetto visivo corrispondente in uno strumento SAP.

Ad esempio, quando ci si connette a un cubo di query da una query BEx che imposta l'aggregazione su Come eseguire la somma( ad esempio, la somma in esecuzione), Power Query restituisce i numeri di base, ignorando tale impostazione. Un analista potrebbe quindi applicare un calcolo di somma in esecuzione in locale, ad esempio Power BI, ma dovrebbe prestare attenzione nel modo in cui i numeri vengono interpretati se questa operazione non viene eseguita.
Aggregazioni In alcuni casi (in particolare quando si gestiscono più valute), i numeri aggregati restituiti dall'interfaccia pubblica SAP non corrispondono a quelli mostrati dagli strumenti SAP.

Di conseguenza, i numeri visualizzati in Power Query non corrispondono necessariamente a quelli per un oggetto visivo corrispondente in uno strumento SAP.

Ad esempio, i totali su valute diverse vengono visualizzati come "*" in Bex Analyzer, ma il totale verrebbe restituito dall'interfaccia pubblica SAP, senza alcuna informazione che tale numero aggregato non ha significato. Di conseguenza, il numero (aggregazione, ad esempio $, EUR e AUD) verrebbe visualizzato da Power Query.
Formattazione valuta Qualsiasi formattazione di valuta (ad esempio, $2.300 o 4000 AUD) non viene riflessa in Power Query.
Unità di misura Le unità di misura (ad esempio, 230 KG) non vengono riflesse in Power Query.
Chiave e testo (short, medium, long) Per una caratteristica SAP BW come CostCenter, lo strumento di spostamento mostrerà un singolo elemento livello di centro di costo 01. La selezione di questo elemento includerà il testo predefinito per Centro di costo nell'elenco dei campi. Inoltre, i valori Chiave, Nome breve, Nome medio e Nome lungo sono disponibili per la selezione nel nodo Proprietà per la caratteristica (se mantenuta in SAP BW).

Si noti che si applica solo alla modalità di importazione della connettività. Per la modalità DirectQuery, solo il testo predefinito verrà incluso nel set di dati.
Attributi Gli attributi di una caratteristica saranno disponibili per la selezione nelle proprietà per la caratteristica . Questo vale solo per importare la modalità di connettività. Per la modalità DirectQuery, gli attributi non saranno disponibili.
Più gerarchie di una caratteristica In SAP una caratteristica può avere più gerarchie. Quindi, negli strumenti come BEx Analyzer, quando una caratteristica è inclusa in una query, l'utente può selezionare la gerarchia da usare.

In Power BI le varie gerarchie possono essere visualizzate nell'elenco dei campi come gerarchie diverse nella stessa dimensione. Tuttavia, la selezione di più livelli da due gerarchie diverse nella stessa dimensione comporterà la restituzione di dati vuoti da SAP.
Trattamento delle gerarchie incomplete SAP BW supporta gerarchie incomplete, in cui è possibile perdere i livelli, ad esempio:

   Continente
      Americhe
         Canada
         USA
   Non assegnato
      Australia

In Power BI questa opzione viene visualizzata con (Vuoto) a livello mancante:

   Continente
      Americhe
         Canada
         USA
   Non assegnato
      (Vuoto)
         Australia
Fattore di ridimensionamento/segno inverso In SAP, una figura chiave può avere un fattore di ridimensionamento (ad esempio, 1000) definito come opzione di formattazione, il che significa che tutti gli schermi verranno ridimensionati in base a tale fattore.

Può avere analogamente un set di proprietà che inverte il segno. L'uso di una figura chiave di questo tipo in Power BI (in un oggetto visivo o come parte di un calcolo) comporterà l'uso del numero non ridimensionato (e il segno non viene invertito). Il fattore di ridimensionamento sottostante non è disponibile. Negli oggetti visivi di Power BI, le unità di scala visualizzate sull'asse (K,M,B) possono essere controllate come parte della formattazione visiva.
Gerarchie in cui i livelli appaiono/scompaiono dinamicamente Inizialmente durante la connessione a SAP BW, le informazioni sui livelli di una gerarchia verranno recuperate, generando un set di campi nell'elenco dei campi. Questa operazione viene memorizzata nella cache e, se il set di livelli cambia, il set di campi non cambia finché non viene richiamato l'aggiornamento.

Questo è possibile solo in Power BI Desktop. Un aggiornamento di questo tipo per riflettere le modifiche apportate ai livelli non può essere richiamato nel servizio Power BI dopo la pubblicazione.
Filtro predefinito Una query BEX può includere filtri predefiniti, che verranno applicati automaticamente da SAP Bex Analyzer. Questi non sono esposti e quindi l'utilizzo equivalente in Power Query non applicherà gli stessi filtri per impostazione predefinita.
Figure chiave nascoste Una query BEX può controllare la visibilità delle figure chiave e quelle nascoste non verranno visualizzate in SAP BEx Analyzer. Questa operazione non viene riflessa tramite l'API pubblica e pertanto tali figure chiave nascoste verranno comunque visualizzate nell'elenco dei campi. Tuttavia, possono essere nascosti all'interno di Power Query.
Formattazione numerica Qualsiasi formattazione numerica (numero di posizioni decimali, separatore decimale e così via) non verrà automaticamente riflessa in Power Query. Tuttavia, è possibile controllare tale formattazione all'interno di Power Query.
Controllo delle versioni della gerarchia SAP BW consente di gestire versioni diverse di una gerarchia, ad esempio la gerarchia del centro di costo nel 2007 rispetto al 2008. Solo la versione più recente sarà disponibile in Power Query, perché le informazioni sulle versioni non sono esposte dall'API pubblica.
Gerarchie dipendenti dal tempo Quando si usa Power Query, le gerarchie dipendenti dal tempo vengono valutate alla data corrente.
Conversione valutaria SAP BW supporta la conversione di valuta, in base ai tassi contenuti nel cubo. Tali funzionalità non sono esposte dall'API pubblica e pertanto non sono disponibili in Power Query.
Ordinamento L'ordinamento (in base al testo o alla chiave) per una caratteristica può essere definito in SAP. Questo ordinamento non si riflette in Power Query. Ad esempio, i mesi potrebbero essere visualizzati come "Aprile", "Ago" e così via.

Non è possibile modificare questo ordinamento in Power Query.
Nomi tecnici Nello strumento di spostamento, i nomi delle caratteristiche/misure (descrizioni) e i nomi tecnici possono essere entrambi visualizzati usando il selettore Opzioni di visualizzazione. L'elenco di campi contiene i nomi di caratteristica/misura (descrizioni).
Impostazione della lingua dell'utente finale Le impostazioni locali usate per connettersi a SAP BW vengono impostate come parte dei dettagli della connessione e non riflettono le impostazioni locali del consumer di report finale.
Variabili di testo SAP BW consente ai nomi di campo di contenere segnaposto per le variabili (ad esempio, "$YEAR$ Actuals") che verrebbero quindi sostituite dal valore selezionato. Ad esempio, il campo viene visualizzato come "2016 Actuals" negli strumenti BEx, se l'anno 2016 è stato selezionato per la variabile.

Il nome della colonna in Power Query non verrà modificato a seconda del valore della variabile e quindi verrà visualizzato come "$YEAR$ Actuals". Tuttavia, il nome della colonna può essere modificato in Power Query.
Variabili di uscita cliente Le variabili di uscita dal cliente non sono esposte dall'API pubblica e pertanto non sono supportate da Power Query.

Considerazioni sulle prestazioni

La tabella seguente fornisce un elenco riepilogo di suggerimenti per migliorare le prestazioni per il caricamento e l'aggiornamento dei dati da SAP BW.

Suggerimento Descrizione
Limitare le caratteristiche e le proprietà (attributo) selezione Il tempo necessario per caricare i dati da SAP BW in Power Query aumenta con le dimensioni del set di dati, ovvero il numero di colonne e righe nel set di risultati flat. Per ridurre il numero di colonne, selezionare solo le caratteristiche e le proprietà nello strumento di navigazione che si desidera visualizzare nel report o nel dashboard.
Usare i parametri L'uso di filtri/parametri contribuisce a ridurre le dimensioni del set di risultati, migliorando in modo significativo i runtime di query.

I parametri sono particolarmente utili quando vengono usati con dimensioni elevate, in cui sono presenti molti membri, ad esempio clienti, materiali o numeri di documento.
Limitare il numero di cifre chiave La selezione di molte figure chiave da un modello BEx query/BW può avere un impatto significativo sulle prestazioni durante l'esecuzione delle query a causa del tempo impiegato per il caricamento dei metadati per le unità. Includere solo le figure chiave necessarie in Power Query.
Suddividere query di dimensioni molto grandi in più query più piccole Per le query molto grandi su InfoCube o query BEx, può essere utile suddividere la query. Ad esempio, una query potrebbe ottenere le figure chiave, mentre un'altra query (o molte altre query) ottiene i dati delle caratteristiche. È possibile unire i singoli risultati della query in Power Query.
Evitare provider virtuali (MultiProvider o InfoSet) VirtualProviders sono simili alle strutture senza l'archiviazione permanente. Sono utili in molti scenari, ma possono mostrare prestazioni di query più lente perché rappresentano un livello aggiuntivo sui dati effettivi.
Evitare l'uso degli attributi di navigazione nella query BEx Una query con un attributo di navigazione deve eseguire un join aggiuntivo, rispetto a una query con lo stesso oggetto di una caratteristica per ottenere i valori.
Usare RSRT per monitorare e risolvere i problemi relativi alle query a esecuzione lenta Sap Amministrazione può usare Monitoraggio query in SAP BW (transaction RSRT) per analizzare i problemi di prestazioni con le query SAP BW. Per altre informazioni, vedere la nota SAP 1591837.
Evitare figure chiave con restrizioni e figure chiave calcolate Entrambi vengono calcolati durante l'esecuzione della query e possono rallentare le prestazioni delle query.
Prendere in considerazione l'uso dell'aggiornamento incrementale per migliorare le prestazioni Power BI aggiorna il set di dati completo con ogni aggiornamento. Se si usa un volume elevato di dati, l'aggiornamento del set di dati completo in ogni aggiornamento potrebbe non essere ottimale. In questo scenario è possibile usare l'aggiornamento incrementale, in modo da aggiornare solo un subset di dati. Per altri dettagli, vedere Aggiornamento incrementale in Power BI.

Confronto con l'analisi per Office (AFO)

Esistono differenze fondamentali tra lo strumento Analysis for Office (AFO) e il connettore SAP Business Warehouse di Power Query, quindi gli output dei dati potrebbero differire. AFO non usa MDX, ma usa invece un protocollo proprietario sviluppato da SAP che non è disponibile per terze parti, ad esempio il connettore SAP Business Warehouse di Power Query. SAP certifica solo i connettori che usano l'interfaccia MDX. AFO usa una strategia di query multidimensionale, che sposta i dati in modo diverso, mentre il connettore SAP Business Warehouse di Power Query deve appiattire i dati in modo che possa essere rappresentato come tabella. Quindi, anche se si tratta degli stessi dati, vengono eseguite query, rappresentate e infine restituite in modo diverso.

Vedi anche