Informations d’implémentation
Cet article décrit les informations de conversion et les fonctionnalités spécifiques disponibles dans Implementation 2 du connecteur Power Query SAP Business Warehouse.
Important
La version 1.0 du connecteur SAP Business Warehouse a été déconseillée. Les nouvelles connexions utiliseront l’implémentation 2.0 du connecteur SAP Business Warehouse. Le support de la version 1.0 sera supprimé du connecteur dans un avenir proche. Utilisez les informations contenues dans cet article pour mettre à jour les rapports de la version 1.0 existante afin qu’ils puissent utiliser l’implémentation 2.0 de ce connecteur.
Nouvelles options pour l'implementation 2.0
L’implémentation 2.0 prend en charge les options suivantes :
ExecutionMode spécifie l’interface MDX utilisée pour exécuter des requêtes sur le serveur. Les options suivantes sont valides :
SapBusinessWarehouseExecutionMode.BasXml
SapBusinessWarehouseExecutionMode.BasXmlGzip
SapBusinessWarehouseExecutionMode.DataStream
La valeur par défaut est
SapBusinessWarehouseExecutionMode.BasXmlGzip
.L’utilisation
SapBusinessWarehouseExecutionMode.BasXmlGzip
peut améliorer les performances en cas de latence élevée pour les jeux de données volumineux.
BatchSize spécifie le nombre maximal de lignes à extraire à la fois lors de l’exécution d’une déclaration MDX. Un petit nombre se traduit par plus d’appels au serveur lors de la récupération d’un jeu de données volumineux. Un grand nombre de lignes peut améliorer les performances, mais peut entraîner des problèmes de mémoire sur le serveur SAP BW. La valeur par défaut est 50000 lignes.
EnableStructures indique si les structures caractéristiques sont reconnues. La valeur par défaut de cette option est false. Affecte la liste des objets disponibles pour la sélection. Non pris en charge en mode requête native.
L’option ScaleMeasures a été déconseillée dans cette implémentation. Le comportement est désormais identique à la définition de ScaleMeasures sur false, affichant toujours des valeurs non mises à l’échelle.
Améliorations supplémentaires pour l’implémentation 2.0
La liste suivante décrit quelques-unes des améliorations supplémentaires apportées à la nouvelle implémentation :
- Amélioration des performances.
- Possibilité de récupérer plusieurs millions de lignes de données et d’ajuster le paramètre de la taille de lot.
- Possibilité de basculer entre les modes d’exécution.
- Prise en charge du mode compressé. Particulièrement avantageux pour les connexions à latence élevée ou les jeux de données volumineux.
- Amélioration de la détection des variables
Date
. - Exposer les dimensions
Date
(ABAP type DATS) etTime
(ABAP type TIMS) respectivement comme dates et heures, au lieu de valeurs texte. Plus d’informations : Prise en charge des dates typées dans SAP BW - Meilleure gestion des exceptions. Les erreurs qui se produisent dans les appels BAPI sont maintenant signalées.
- Pliage de colonnes dans les modes BasXml et BasXmlGzip. Par exemple, si la requête MDX générée récupère 40 colonnes mais que la sélection actuelle n’en a besoin que de 10, cette demande sera transmise au serveur pour récupérer un jeu de données plus petit.
Modification des rapports existants pour utiliser l’implémentation 2.0
La modification de rapports existants pour utiliser l’implémentation 2.0 n’est possible qu’en mode d’importation. Effectuez les étapes suivantes :
Ouvrez un rapport existant, sélectionnez Modifier les requêtes dans le ruban, puis la requête SAP Business Warehouse à mettre à jour.
Cliquez avec le bouton droit sur la requête et sélectionnez Éditeur avancé.
Dans l’éditeur avancé, modifiez l’appel
SapBusinessWarehouse.Cubes
comme suit :Déterminez si la requête contient déjà un enregistrement d’option, comme dans l’exemple suivant.
Si c’est le cas, ajoutez l’option
Implementation 2.0
et supprimez l’optionScaleMeasures
, le cas échéant, comme indiqué ci-dessous.Si la requête n’inclut pas déjà un enregistrement d’options, il suffit de l'ajouter. Pour l’option suivante :
Il suffit de la remplacer par :
Nous avons fait tout notre possible pour rendre Implementation 2.0 du connecteur SAP BW compatible avec la version 1. Cependant, il peut y avoir quelques différences en raison des différents modes d’exécution SAP BW MDX utilisés. Pour résoudre les incohérences, essayez de basculer entre les modes d’exécution.
Prise en charge des dates typées dans SAP BW
Implementation 2.0 du connecteur SAP BW inclut la prise en charge des dates et heures typées. Si vous interrogez un rapport contenant des dimensions avec des types ABAP, DATS ou TIMS, elles peuvent désormais être générées sous forme de dates au lieu de texte.
Les limitations relatives à l’utilisation de cette fonctionnalité sont les suivantes :
- Disponible uniquement dans Implementation 2.0 du connecteur SAP BW.
- Disponible uniquement en mode Importation.
- Le compte utilisé pour se connecter au serveur SAP BW doit disposer des autorisations suffisantes pour appeler 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"
Vous devez ajouter la clé pour accéder à la date typée. Par exemple, s’il existe un attribut de dimension appelé [0CALDAY], vous devez ajouter la clé [20CALDAY] pour obtenir la valeur typée.
Dans l’exemple ci-dessus, cela signifie que :
- Calendar day.Calendar day Level 01 [0CALDAY] sera du texte (une légende). (Ajouté par défaut lorsque la dimension est ajoutée.)
- Calendar day.Calendar day Level 01.Key [20CALDAY] sera une date (doit être sélectionnée manuellement).
Pour ajouter manuellement la clé en mode Importation, développez simplement Propriétés et sélectionnez la clé.
La colonne clé est de type date et peut être utilisée pour le filtrage. Le filtrage sur cette colonne est replié sur le serveur.
Prise en charge des fonctionnalités de SAP BW
Le tableau suivant liste toutes les fonctionnalités SAP BW qui ne sont pas entièrement prises en charge ou se comportent différemment lorsque vous utilisez le connecteur SAP BW Power Query.
Fonctionnalité | Description |
---|---|
Calculs locaux | Les calculs locaux définis dans une requête BEX modifieront les nombres tels qu’affichés via des outils tels que Bex Analyzer. Toutefois, ils ne sont pas reflétés dans les nombres retournés par SAP par le biais de l’interface publique MDX. Par conséquent, les nombres affichés dans Power Query ne correspondent pas nécessairement à ceux d’un visuel correspondant d’un outil SAP. Par exemple, lors de la connexion à un cube de requête à partir d’une requête BEx qui définit l’agrégation sur Cumulé (par exemple, cumul), Power Query reprend les nombres de base, en ignorant ce paramètre. Un analyste peut alors appliquer un calcul de cumul localement dans, par exemple, Power BI, mais il doit interpréter ces nombres avec prudence s’il ne le fait pas. |
Agrégations | Dans certains cas (en particulier lors du traitement de plusieurs devises), les nombres agrégés retournés par l’interface publique SAP ne correspondent pas à ceux indiqués par les outils SAP. Par conséquent, les nombres affichés dans Power Query ne correspondent pas nécessairement à ceux d’un visuel correspondant d’un outil SAP. Par exemple, les totaux affichés dans différentes devises le sont sous la forme « * » dans Bex Analyzer, mais le total est retourné par l’interface publique SAP, sans indication du non-sens de ce nombre agrégé. Par conséquent, le nombre (agrégeant par exemple des $ US, des euros et des $ australiens) est affiché par Power Query. |
Mise en forme de devise | Toute mise en forme de devise (par exemple, 2 300 $ ou 4000 AUD) n’est pas reflétée dans Power Query. |
Unités de mesure | Les unités de mesure (par exemple, 230 KG) ne sont pas reflétées dans Power Query. |
Clé versus texte (court, moyen, long) | Pour une caractéristique SAP BW telle que Centre de coûts, le Navigateur affiche un seul élément Centre de coûts niveau 01. La sélection de cet élément inclut le texte par défaut de Centre de coûts dans la liste des champs. En outre, les valeurs de clé, nom court, nom moyen et nom long sont disponibles pour la sélection dans le nœud Propriétés de la caractéristique (en cas de maintien dans SAP BW). Notez que cela s’applique uniquement au mode de connectivité Importation. Pour le mode DirectQuery, seul le texte par défaut sera inclus dans le jeu de données. |
Attributs | Les attributs d’une caractéristique seront disponibles pour la sélection dans les propriétés de la caractéristique. Cela s’applique uniquement au mode de connectivité Importation. Pour le mode DirectQuery, les attributs ne seront pas disponibles. |
Hiérarchies multiples d’une caractéristique | Dans SAP, une caractéristique peut avoir plusieurs hiérarchies. Ainsi, dans des outils tels que BEx Analyzer, quand une caractéristique est incluse dans une requête, l’utilisateur peut sélectionner la hiérarchie à utiliser. Dans Power BI, les diverses hiérarchies sont affichées dans la liste de champs en tant que hiérarchies différentes sur la même dimension. Toutefois, si vous sélectionnez plusieurs niveaux à partir de deux hiérarchies différentes sur la même dimension, SAP renvoie des données vides. |
Traitement des hiérarchies déséquilibrées | SAP BW prend en charge les hiérarchies déséquilibrées, où des niveaux peuvent manquer, par exemple : Continent Amérique Canada États-Unis Non affecté Australie Dans Power BI, le niveau manquant est indiqué par (Vide) : Continent Amérique Canada États-Unis Non affecté (Vide) Australie |
Facteur d’échelle/signe inversé | Dans SAP, un chiffre clé peut avoir un facteur d’échelle (par exemple, 1000) défini comme option de mise en forme, ce qui signifie que tout affichage est mis à l’échelle en fonction de ce facteur. De même, il peut avoir un jeu de propriétés inversant le signe. L’utilisation d’un chiffre clé de ce type dans Power BI (dans un visuel ou dans le cadre d’un calcul) entraîne l’utilisation du nombre non mis à l’échelle (et le signe n’est alors pas inversé). Le facteur d’échelle sous-jacent n’est pas disponible. Dans les visuels Power BI,vous pouvez contrôler les unités d’échelle de l’axe (K, M, B) dans le cadre de la mise en forme des visuels. |
Hiérarchies dans lesquelles les niveaux apparaissent/disparaissent dynamiquement | Initialement, lors de la connexion à SAP BW, les informations sur les niveaux d’une hiérarchie seront récupérées, ce qui entraînera un ensemble de champs dans la liste des champs. Celui-ci est mis en cache et, si l’ensemble de niveaux change, l’ensemble de champs ne change pas jusqu’à l’appel de l’actualisation. Cela n’est possible que dans Power BI Desktop. Dans le service Power BI, il n’est pas possible, après la publication, d’appeler une actualisation de ce type visant à refléter les modifications apportées aux niveaux. |
Filtre par défaut | Une requête BEX peut inclure des filtres par défaut, qui seront appliqués automatiquement par SAP Bex Analyzer. Ces filtres ne sont pas exposés et, par conséquent, l’utilisation équivalente dans Power Query n’applique pas les mêmes filtres par défaut. |
Chiffres clés masqués | Une requête BEX peut contrôler la visibilité des chiffres clés, et ceux qui sont masqués n’apparaissent pas dans SAP BEx Analyzer. Cela n’est pas reflété dans l’API publique et, par conséquent, ces chiffres clés masqués figurent toujours dans la liste des champs. Toutefois, vous pouvez ensuite les masquer dans Power Query. |
Mise en forme numérique | Toute mise en forme numérique (nombre de décimales, décimale, etc.) n’est pas automatiquement répercutée dans Power Query. Toutefois, il est possible de contrôler ensuite ce type de mise en forme dans Power Query. |
Contrôle de version des hiérarchies | SAP BW autorise la gestion de différentes versions d’une hiérarchie, par exemple la hiérarchie de centre de coût pour 2007 et 2008. Seule la dernière version est disponible dans Power Query, car les informations de versions ne sont pas exposées par l’API publique. |
Hiérarchies dépendantes de l’heure | Dans Power Query, les hiérarchies dépendantes de l’heure sont évaluées à la date du jour. |
Conversion de devises | SAP BW prend en charge la conversion de devises, en fonction des taux définis dans le cube. Ces fonctionnalités ne sont pas exposées par l’API publique et ne sont donc pas disponibles dans Power Query. |
Ordre de tri | L’ordre de tri (par texte ou par clé) d’une caractéristique peut être défini dans SAP. Cet ordre de tri n’est pas reflété dans Power Query. Par exemple, les mois peuvent apparaître dans l’ordre « Avril », « Août » et ainsi de suite. Il n’est pas possible de modifier cet ordre de tri dans Power Query. |
Noms techniques | Dans le Navigateur, les noms de caractéristique/mesure (descriptions) et les noms techniques peuvent être affichés à l’aide du sélecteur Options d’affichage. La liste des champs contient les noms de caractéristique/mesure (descriptions). |
Paramètre de langue de l’utilisateur final | Les paramètres régionaux utilisés pour se connecter à SAP BW sont définis dans le cadre des détails de connexion et ne reflètent pas les paramètres régionaux du lecteur du rapport final. |
Variables texte | SAP BW permet aux noms de champs de contenir des espaces réservés pour les variables (par exemple, « Chiffres réels $YEAR$ ») qui seraient ensuite remplacées par la valeur sélectionnée. Par exemple, le champ s'affiche comme « Chiffres réels 2016 » dans les outils BEx si l’année 2016 a été sélectionnée pour la variable. Le nom de colonne affiché dans Power Query ne change pas en fonction de la valeur de la variable et, par conséquent, est affiché sous la forme « Chiffres réels $YEAR$ ». Toutefois, vous pouvez ensuite modifier le nom de colonne dans Power Query. |
Variables de sortie du client | Les variables de sortie client ne sont pas exposées par l’API publique et ne sont donc pas prises en charge par Power Query. |
Considérations relatives aux performances
Le tableau suivant fournit une liste récapitulative des suggestions pour améliorer les performances de chargement et d’actualisation des données à partir de SAP BW.
Suggestion | Description |
---|---|
Limiter la sélection des caractéristiques et propriétés (attribut) | Le temps nécessaire pour charger des données de SAP BW dans Power Query augmente avec la taille du jeu de données, autrement dit, le nombre de colonnes et de lignes dans le jeu de résultats aplati. Pour réduire le nombre de colonnes, sélectionnez uniquement dans le Navigateur les caractéristiques et les propriétés que vous souhaitez voir dans votre rapport ou tableau de bord. |
Utiliser des paramètres | L’utilisation de filtres/paramètres contribue à réduire la taille du jeu de résultats, ce qui améliore considérablement les runtimes de requête. Les paramètres sont particulièrement précieux quand ils sont utilisés avec de grandes dimensions où il existe de nombreux membres, tels que les clients, les matériaux ou les numéros de document. |
Limiter le nombre de chiffres clés | La sélection de nombreux chiffres clés à partir d’une requête BEx/d’un modèle BW peut avoir un impact significatif sur les performances pendant l’exécution de la requête en raison du temps consacré au chargement des métadonnées pour les unités. Incluez uniquement les chiffres clés dont vous avez besoin dans Power Query. |
Fractionner des requêtes très volumineuses en plusieurs requêtes plus petites | Pour les requêtes très volumineuses par rapport aux requêtes InfoCubes ou BEx, il peut être utile de fractionner la requête. Par exemple, une requête peut obtenir les chiffres clés, tandis qu’une autre requête (ou plusieurs autres requêtes) obtient les données des caractéristiques. Vous pouvez joindre les résultats des requêtes individuelles dans Power Query. |
Éviter les fournisseurs virtuels (MultiProviders ou InfoSets) | Les fournisseurs virtuels sont similaires aux structures sans stockage persistant. Ils sont utiles dans de nombreux scénarios, mais peuvent afficher des performances de requête plus lentes, car ils représentent une couche supplémentaire sur les données réelles. |
Éviter l’utilisation des attributs de navigation dans la requête BEx | Une requête avec un attribut de navigation doit exécuter une jointure supplémentaire, par rapport à une requête avec le même objet qu’une caractéristique afin d’arriver aux valeurs. |
Utiliser RSRT pour superviser et dépanner les requêtes s’exécutant lentement | Votre administrateur SAP peut utiliser le moniteur de requêtes dans SAP BW (transaction RSRT) pour analyser les problèmes de performances liés aux requêtes SAP BW. Pour plus d’informations, consultez la note SAP 1591837. |
Éviter les chiffres clés limités et les chiffres clés calculés | Les deux sont calculés pendant l’exécution de la requête et peuvent ralentir les performances des requêtes. |
Envisager d’utiliser l’actualisation incrémentielle pour améliorer les performances | Power BI actualise le jeu de données complet avec chaque actualisation. Si vous utilisez un grand volume de données, l’actualisation du jeu de données complet lors de chaque actualisation peut ne pas être optimale. Dans ce scénario, vous pouvez utiliser l’actualisation incrémentielle, de sorte que vous actualisez uniquement un sous-ensemble de données. Pour plus d’informations, accédez à Actualisation incrémentielle dans Power BI. |
Comparaison avec Analysis for Office (AFO)
Il existe des différences fondamentales entre l’outil Analysis for Office (AFO) et le connecteur Power Query SAP Business Warehouse, de sorte que les sorties de données peuvent différer. AFO n’utilise pas MDX, mais utilise plutôt un protocole propriétaire développé par SAP qui n’est pas disponible pour les tiers, comme le connecteur SAP Business Warehouse Power Query. SAP certifie uniquement les connecteurs qui utilisent l’interface MDX. AFO utilise une stratégie d’interrogation multidimensionnelle, qui navigue différemment des données, tandis que le connecteur SAP Business Warehouse Power Query doit aplatir les données afin qu’elles puissent être représentées sous forme de table. Ainsi, même s’il s’agit des mêmes données, elles sont interrogées, représentées et finalement générées différemment.