Implementatiedetails
In dit artikel worden conversiegegevens en specifieke functies beschreven die beschikbaar zijn in Implementation 2 van de Power Query SAP Business Warehouse-connector.
Belangrijk
Versie 1.0 van de SAP Business Warehouse-connector is afgeschaft. Nieuwe verbindingen maken gebruik van Implementation 2.0 van de SAP Business Warehouse-connector. Alle ondersteuning voor versie 1.0 wordt in de nabije toekomst verwijderd uit de connector. Gebruik de informatie in dit artikel om bestaande versie 1.0-rapporten bij te werken, zodat ze Implementation 2.0 van deze connector kunnen gebruiken.
Nieuwe opties voor Implementation 2.0
Implementation 2.0 ondersteunt de volgende opties:
ExecutionMode geeft de MDX-interface op die wordt gebruikt voor het uitvoeren van query's op de server. De volgende opties zijn geldig:
SapBusinessWarehouseExecutionMode.BasXml
SapBusinessWarehouseExecutionMode.BasXmlGzip
SapBusinessWarehouseExecutionMode.DataStream
De standaardwaarde is
SapBusinessWarehouseExecutionMode.BasXmlGzip
.Het gebruik
SapBusinessWarehouseExecutionMode.BasXmlGzip
kan de prestaties verbeteren wanneer er sprake is van hoge latentie voor grote gegevenssets.
BatchSize geeft het maximum aantal rijen op dat moet worden opgehaald op een moment bij het uitvoeren van een MDX-instructie. Een klein getal wordt omgezet in meer aanroepen naar de server tijdens het ophalen van een grote gegevensset. Een groot aantal rijen kan de prestaties verbeteren, maar kan geheugenproblemen veroorzaken op de SAP BW-server. De standaardwaarde is 50000 rijen.
EnableStructures geeft aan of kenmerkstructuren worden herkend. De standaardwaarde voor deze optie is onwaar. Beïnvloedt de lijst met objecten die beschikbaar zijn voor selectie. Niet ondersteund in de systeemeigen querymodus.
De optie ScaleMeasures is in deze implementatie afgeschaft. Het gedrag is nu hetzelfde als het instellen van ScaleMeasures op false, waarbij altijd niet-geschaalde waarden worden weergegeven.
Aanvullende verbeteringen voor Implementation 2.0
In de volgende lijst worden enkele aanvullende verbeteringen beschreven die bij de nieuwe implementatie worden geleverd:
- Verbeterde prestaties.
- De mogelijkheid om enkele miljoenen rijen met gegevens op te halen en de parameter batchgrootte te verfijnen.
- Mogelijkheid om over te schakelen tussen uitvoeringsmodi.
- Ondersteuning voor gecomprimeerde modus. Met name nuttig voor verbindingen met hoge latentie of grote gegevenssets.
- Verbeterde detectie van
Date
variabelen. - De dimensies (ABAP-type DATS) en
Time
(ABAP-type TIMS) weergevenDate
als datums en tijden, in plaats van tekstwaarden. Meer informatie: Ondersteuning voor getypte datums in SAP BW - Betere verwerking van uitzonderingen. Fouten die optreden in BAPI-aanroepen worden nu weergegeven.
- Kolomvouwen in de modi BasXml en BasXmlGzip. Als de gegenereerde MDX-query bijvoorbeeld 40 kolommen ophaalt, maar de huidige selectie slechts 10 nodig heeft, wordt deze aanvraag doorgegeven aan de server om een kleinere gegevensset op te halen.
Bestaande rapporten wijzigen voor het gebruik van Implementation 2.0
Het wijzigen van bestaande rapporten voor het gebruik van Implementation 2.0 is alleen mogelijk in de importmodus. Volg vervolgens deze stappen:
Open een bestaand rapport, selecteer Query's bewerken op het lint en selecteer vervolgens de SAP Business Warehouse-query die u wilt bijwerken.
Klik met de rechtermuisknop op de query en selecteer Geavanceerde editor.
Wijzig in de Geavanceerde editor de
SapBusinessWarehouse.Cubes
aanroep als volgt:Bepaal of de query al een optierecord bevat, zoals het volgende voorbeeld.
Zo ja, voeg de
Implementation 2.0
optie toe en verwijder deScaleMeasures
optie, indien aanwezig, zoals wordt weergegeven.Als de query nog geen optiesrecord bevat, voegt u deze toe. Voor de volgende optie:
U hoeft alleen maar het volgende te doen:
Er is alles aan gedaan om Implementation 2.0 van de SAP BW-connector compatibel te maken met versie 1. Er kunnen echter enkele verschillen zijn vanwege de verschillende SAP BW MDX-uitvoeringsmodi die worden gebruikt. Als u eventuele verschillen wilt oplossen, schakelt u tussen uitvoeringsmodi.
Ondersteuning voor getypte datums in SAP BW
Implementatie 2.0 van de SAP BW-connector bevat ondersteuning voor getypte datums en tijden. Als u een query uitvoert op een rapport met dimensies met ABAP-typen, DATS of TIMS, kunnen ze nu worden uitgevoerd als datums in plaats van tekst.
De beperkingen voor het gebruik van deze functionaliteit zijn:
- Alleen beschikbaar in Implementation 2.0 van de SAP BW-connector.
- Alleen beschikbaar in de importmodus.
- Het account dat wordt gebruikt om verbinding te maken met de SAP BW-server, moet voldoende machtigingen hebben om BAPI_IOBJ_GETDETAIL aan te roepen.
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"
U moet de sleutel toevoegen om toegang te krijgen tot de getypte datum. Als er bijvoorbeeld een dimensiekenmerk is met de naam [0CALDAY], moet u de sleutel [20CALDAY] toevoegen om de getypte waarde op te halen.
In het bovenstaande voorbeeld betekent dit dat:
- Kalenderdag. Kalenderdagniveau 01 [0CALDAY] is tekst (een onderschrift). (Standaard toegevoegd wanneer de dimensie wordt toegevoegd.)
- Kalenderdag. Kalenderdagniveau 01.Key [20CALDAY] is een datum (moet handmatig worden geselecteerd).
Als u de sleutel handmatig wilt toevoegen in de importmodus, vouwt u Eigenschappen uit en selecteert u de sleutel.
De sleutelkolom is van het type datum en kan worden gebruikt voor het filteren. Filteren op deze kolom wordt naar de server gevouwen.
Ondersteuning voor SAP BW-functies
De volgende tabel bevat alle SAP BW-functies die niet volledig worden ondersteund of zich anders gedragen wanneer u de Power Query SAP BW-connector gebruikt.
Functie | Beschrijving |
---|---|
Lokale berekeningen | Met lokale berekeningen die zijn gedefinieerd in een BEX-query, worden de getallen gewijzigd zoals weergegeven via hulpprogramma's zoals Bex Analyzer. Ze worden echter niet weerspiegeld in de getallen die worden geretourneerd door SAP, via de openbare MDX-interface. Als zodanig komen de getallen die worden weergegeven in Power Query niet noodzakelijkerwijs overeen met die voor een bijbehorende visual in een SAP-hulpprogramma. Wanneer u bijvoorbeeld verbinding maakt met een querykubus vanuit een BEx-query waarmee de aggregatie wordt ingesteld om te worden gecumuleerd (bijvoorbeeld het uitvoeren van som), krijgt Power Query de basisnummers terug, waarbij die instelling wordt genegeerd. Een analist kan vervolgens lokaal een berekening van de lopende som toepassen in Bijvoorbeeld Power BI, maar moet voorzichtig zijn met de interpretatie van de getallen als dit niet wordt gedaan. |
Aggregaties | In sommige gevallen (met name bij het omgaan met meerdere valuta's), komen de geaggregeerde getallen die worden geretourneerd door de openbare SAP-interface niet overeen met de getallen die worden weergegeven door SAP-hulpprogramma's. Als zodanig komen de getallen die worden weergegeven in Power Query niet noodzakelijkerwijs overeen met die voor een bijbehorende visual in een SAP-hulpprogramma. Totalen over verschillende valuta's zouden bijvoorbeeld worden weergegeven als '*' in Bex Analyzer, maar het totaal zou worden geretourneerd door de openbare SAP-interface, zonder enige informatie dat een dergelijk aggregaatnummer betekenisloos is. Het getal (bijvoorbeeld $, EUR en AUD) wordt dus weergegeven door Power Query. |
Valutaopmaak | Valutaopmaak (bijvoorbeeld $ 2.300 of 4000 AUD) wordt niet weergegeven in Power Query. |
Maateenheden | Maateenheden (bijvoorbeeld 230 KG) worden niet weergegeven in Power Query. |
Sleutel versus tekst (kort, gemiddeld, lang) | Voor een SAP BW-kenmerk, zoals CostCenter, wordt in de navigator één item Cost Center Level 01 weergegeven. Als u dit item selecteert, wordt de standaardtekst voor Cost Center in de lijst met velden opgenomen. Ook zijn de sleutelwaarde, korte naam, gemiddelde naam en lange naam beschikbaar voor selectie in het knooppunt Eigenschappen voor de kenmerk (indien behouden in SAP BW). Houd er rekening mee dat dit alleen van toepassing is op de importconnectiviteitsmodus. Voor de DirectQuery-modus wordt alleen de standaardtekst opgenomen in de gegevensset. |
Kenmerken | De kenmerken van een kenmerk zijn beschikbaar voor selectie in de eigenschappen voor het kenmerk. Dit geldt alleen voor de importconnectiviteitsmodus. Voor de DirectQuery-modus zijn kenmerken niet beschikbaar. |
Meerdere hiërarchieën van een kenmerk | In SAP kan een kenmerk meerdere hiërarchieën hebben. Wanneer een kenmerk wordt opgenomen in een query, kan de gebruiker vervolgens in hulpprogramma's zoals BEx Analyzer de te gebruiken hiërarchie selecteren. In Power BI zijn de verschillende hiërarchieën te zien in de lijst met velden als verschillende hiërarchieën in dezelfde dimensie. Als u echter meerdere niveaus uit twee verschillende hiërarchieën op dezelfde dimensie selecteert, worden lege gegevens geretourneerd door SAP. |
Behandeling van onregelmatige hiërarchieën | SAP BW ondersteunt onregelmatige hiërarchieën, waar niveaus kunnen worden gemist, bijvoorbeeld: Werelddeel Noord- en Zuid-Amerika Canada USA Niet toegewezen Australië In Power BI wordt dit weergegeven met (leeg) op het ontbrekende niveau: Werelddeel Noord- en Zuid-Amerika Canada USA Niet toegewezen (Leeg) Australië |
Schaalfactor/omgekeerd teken | In SAP kan een sleutelfiguur een schaalfactor (bijvoorbeeld 1000) hebben die is gedefinieerd als opmaakoptie, wat betekent dat alle weergaven met die factor worden geschaald. Het kan op dezelfde manier een eigenschappenset hebben waarmee het teken wordt omgekeerd. Het gebruik van een dergelijke sleutelfiguur in Power BI (in een visual of als onderdeel van een berekening) resulteert in het niet-geschaalde getal dat wordt gebruikt (en het teken wordt niet omgekeerd). De onderliggende schaalfactor is niet beschikbaar. In Power BI-visuals kunnen de schaaleenheden die op de as (K,M,B) worden weergegeven, worden beheerd als onderdeel van de visuele opmaak. |
Hiërarchieën waarin niveaus dynamisch worden weergegeven/verdwijnen | In eerste instantie wordt bij het maken van verbinding met SAP BW de informatie over de niveaus van een hiërarchie opgehaald, wat resulteert in een set velden in de lijst met velden. Dit wordt in de cache opgeslagen en als de set niveaus wordt gewijzigd, wordt de set velden pas gewijzigd nadat vernieuwen is aangeroepen. Dit is alleen mogelijk in Power BI Desktop. Een dergelijke vernieuwing om wijzigingen in de niveaus weer te geven, kan niet worden aangeroepen in de Power BI-service na publiceren. |
Standaardfilter | Een BEX-query kan standaardfilters bevatten, die automatisch worden toegepast door SAP Bex Analyzer. Deze worden niet weergegeven en het equivalente gebruik in Power Query past dus niet standaard dezelfde filters toe. |
Verborgen sleutelcijfers | Een BEX-query kan de zichtbaarheid van sleutelfiguren beheren en die verborgen zijn, worden niet weergegeven in SAP BEx Analyzer. Dit wordt niet weerspiegeld via de openbare API, waardoor dergelijke verborgen sleutelcijfers nog steeds worden weergegeven in de lijst met velden. Ze kunnen echter wel worden verborgen in Power Query. |
Numerieke opmaak | Een numerieke opmaak (aantal decimale posities, decimaalteken, enzovoort) wordt niet automatisch weergegeven in Power Query. Het is echter mogelijk om deze opmaak in Power Query te beheren. |
Versiebeheer van hiërarchie | MET SAP BW kunnen verschillende versies van een hiërarchie worden onderhouden, bijvoorbeeld de kostenplaatshiërarchie in 2007 versus 2008. Alleen de nieuwste versie is beschikbaar in Power Query, omdat informatie over versies niet wordt weergegeven door de openbare API. |
Tijdafhankelijke hiërarchieën | Wanneer u Power Query gebruikt, worden tijdafhankelijke hiërarchieën geëvalueerd op de huidige datum. |
Valutaomrekening | SAP BW ondersteunt valutaconversie, op basis van de tarieven in de kubus. Dergelijke mogelijkheden worden niet weergegeven door de openbare API en zijn daarom niet beschikbaar in Power Query. |
Sorteervolgorde | De sorteervolgorde (op tekst of op sleutel) voor een kenmerk kan worden gedefinieerd in SAP. Deze sorteervolgorde wordt niet weergegeven in Power Query. Maanden kunnen bijvoorbeeld worden weergegeven als 'April', 'Aug', enzovoort. Het is niet mogelijk om deze sorteervolgorde in Power Query te wijzigen. |
Technische namen | In de navigator kunnen de namen van kenmerken/meten (beschrijvingen) en technische namen beide worden weergegeven met behulp van de selector Weergaveopties. De lijst met velden bevat de namen van kenmerken/meten (beschrijvingen). |
Taalinstelling voor eindgebruikers | De landinstelling die wordt gebruikt om verbinding te maken met SAP BW, wordt ingesteld als onderdeel van de verbindingsgegevens en geeft niet de landinstelling van de eindrapportgebruiker weer. |
Tekstvariabelen | MET SAP BW kunnen veldnamen tijdelijke aanduidingen bevatten voor variabelen (bijvoorbeeld '$YEAR$ Actuals') die vervolgens worden vervangen door de geselecteerde waarde. Het veld wordt bijvoorbeeld weergegeven als '2016 Werkelijke waarden' in BEx-hulpprogramma's als het jaar 2016 is geselecteerd voor de variabele. De kolomnaam in Power Query wordt niet gewijzigd, afhankelijk van de waarde van de variabele, en wordt dus weergegeven als '$YEAR$ Werkelijke waarden'. De kolomnaam kan echter worden gewijzigd in Power Query. |
Afsluitvariabelen van klant | Afsluitvariabelen van klanten worden niet weergegeven door de openbare API en worden daarom niet ondersteund door Power Query. |
Prestatieoverwegingen
De volgende tabel bevat een overzicht van suggesties voor het verbeteren van de prestaties voor het laden en vernieuwen van gegevens vanuit SAP BW.
Suggestie | Beschrijving |
---|---|
Selectie van kenmerken en eigenschappen (kenmerk) beperken | De tijd die nodig is om gegevens uit SAP BW in Power Query te laden, neemt toe met de grootte van de gegevensset, dat wil gezegd het aantal kolommen en rijen in de platgemaakte resultatenset. Als u het aantal kolommen wilt verminderen, selecteert u alleen de kenmerken en eigenschappen in de navigator die u uiteindelijk wilt zien in uw rapport of dashboard. |
Gebruik maken van parameters | Het gebruik van filters/parameters draagt bij aan het verminderen van de grootte van de resultatenset, waardoor queryruntimes aanzienlijk worden verbeterd. Parameters zijn vooral waardevol bij gebruik met grote afmetingen, waarbij er veel leden zijn, zoals klanten, materialen of documentnummers. |
Aantal sleutelcijfers beperken | Het selecteren van veel sleutelcijfers uit een BEx-query/BW-model kan een aanzienlijke invloed hebben op de prestaties tijdens het uitvoeren van query's vanwege de tijd die wordt besteed aan het laden van metagegevens voor eenheden. Neem alleen de sleutelcijfers op die u nodig hebt in Power Query. |
Zeer grote query's splitsen in meerdere, kleinere query's | Voor zeer grote query's op InfoCubes of BEx-query's kan het nuttig zijn om de query op te splitsen. Een query kan bijvoorbeeld de sleutelcijfers ophalen, terwijl een andere query (of verschillende andere query's) de kenmerkengegevens ophaalt. U kunt de afzonderlijke queryresultaten samenvoegen in Power Query. |
Vermijd virtuele providers (MultiProviders of InfoSets) | VirtualProviders zijn vergelijkbaar met structuren zonder permanente opslag. Ze zijn handig in veel scenario's, maar kunnen tragere queryprestaties weergeven omdat ze een extra laag boven op de werkelijke gegevens vertegenwoordigen. |
Vermijd het gebruik van navigatiekenmerken in BEx-query | Een query met een navigatiekenmerk moet een extra join uitvoeren, vergeleken met een query met hetzelfde object als een kenmerk om de waarden te verkrijgen. |
RSRT gebruiken om trage query's te bewaken en problemen op te lossen | Uw SAP-Beheer kunt querymonitor in SAP BW (transactie RSRT) gebruiken om prestatieproblemen met SAP BW-query's te analyseren. Raadpleeg de SAP-notitie 1591837 voor meer informatie. |
Beperkte sleutelfiguren en berekende sleutelcijfers voorkomen | Beide worden berekend tijdens het uitvoeren van query's en kunnen de queryprestaties vertragen. |
Overweeg incrementeel vernieuwen te gebruiken om de prestaties te verbeteren | Power BI vernieuwt de volledige gegevensset met elke vernieuwing. Als u met een groot aantal gegevens werkt, is het vernieuwen van de volledige gegevensset voor elke vernieuwing mogelijk niet optimaal. In dit scenario kunt u incrementeel vernieuwen gebruiken, zodat u alleen een subset met gegevens vernieuwt. Ga naar Incrementeel vernieuwen in Power BI voor meer informatie. |
Vergelijking met Analysis for Office (AFO)
Er zijn fundamentele verschillen tussen het hulpprogramma Analysis for Office (AFO) en de Power Query SAP Business Warehouse-connector, zodat de uitvoer van gegevens kan verschillen. AFO maakt geen gebruik van MDX, maar gebruikt in plaats daarvan een eigen protocol dat is ontwikkeld door SAP dat niet beschikbaar is voor derden, zoals de Power Query SAP Business Warehouse-connector. SAP certificeert alleen connectors die gebruikmaken van de MDX-interface. AFO maakt gebruik van een multidimensionale querystrategie, waarmee de gegevens anders worden genavigeerd, terwijl de Power Query SAP Business Warehouse-connector de gegevens moet platmaken, zodat deze als een tabel kunnen worden weergegeven. Hoewel het dezelfde gegevens zijn, worden er query's uitgevoerd, weergegeven en uiteindelijk anders uitgevoerd.