Partager via


OneStream

Note

Ce connecteur est détenu et fourni par OneStream.

Résumé

Élément Descriptif
État de publication Disponibilité générale
Produits Power BI (jeux de données)
Power BI (flux de données)
Fabric (Flux de données Gen2)
Types d’authentification pris en charge Compte d’organisation

Prerequisites

La version 8.2 ou ultérieure de la plateforme OneStream est requise. Il existe une configuration système requise pour vérifier avant d’installer Microsoft Power BI Desktop.

Fonctionnalités prises en charge

Le connecteur OneStream permet un accès sécurisé à vos applications OneStream. Avec le connecteur, vous pouvez :

  • Accédez aux données de cube et relationnelles à partir d’applications OneStream, directement dans Power BI.
  • Accéder aux membres de métadonnées et à toutes leurs propriétés OneStream.
  • Recréez facilement vos structures de hiérarchie complète dans Power BI.
  • Automatisez les chargements de données dans le service Power BI.

Se connecter à OneStream à partir de Power BI Desktop

Obtenir des données

  1. Ouvrez Power BI Desktop et sélectionnez Obtenir des données à partir d’autres sources.

    Capture d’écran de l’expérience de collecte de données.

  2. Tapez OneStream dans la zone de recherche pour rechercher le connecteur OneStream personnalisé.

    Capture d’écran de la boîte de dialogue Obtenir des données avec OneStream entré dans la zone de recherche.

  3. Sélectionnez OneStream.

  4. Sélectionnez Se connecter.

Configurer le connecteur

  1. Entrez votre URL d’environnement OneStream. Vérifiez que l'URL de l'environnement est entrée en commençant par https:// (comme illustré dans la capture d'écran suivante). Sinon, les tentatives de connexion ne fonctionnent pas correctement.

    Capture d’écran de la boîte de dialogue de configuration du connecteur avec l’URL environnementale entrée.

  2. Cliquez sur OK.

Authenticate

  1. Sélectionnez Se connecter pour démarrer le processus d’authentification.

  2. Cette sélection redirige et ouvre OneStream Identity Server sur votre navigateur par défaut pour la connexion.

  3. Connectez-vous à votre compte OneStream.

    Capture d’écran de la boîte de dialogue d’authentification avec la boîte de dialogue de connexion OneStream affichée.

  4. Une fois la connexion réussie, sélectionnez Se connecter.

    Capture d’écran de la boîte de dialogue d’authentification avec l’utilisateur connecté.

Navigateur OneStream

Une fois la connexion réussie, le connecteur OneStream affiche le navigateur avec 4 types d’appels disponibles :

Capture d’écran de la boîte de dialogue navigateur avec Obtenir la dimension sélectionnée.

Reportez-vous aux meilleures pratiques si vous avez besoin d’aide pour configurer les fonctions.

Après avoir sélectionné la fonction que vous souhaitez utiliser, suivez la procédure pour charger les données.

Charger des données

  1. En fonction des exigences, fournissez les valeurs de la fonction donnée. Vous pouvez basculer les paramètres uniquement sur les paramètres requis ou les utiliser tous si nécessaire. Power BI affiche un aperçu des données pour la table qui sera renvoyée.

  2. Après avoir fourni les paramètres, chargez ou transformez les données.

    • Sélectionnez Charger pour charger la table dans le modèle de données Power BI Desktop interne.
    • Sélectionnez Transformer des données pour apporter des modifications dans la table avant de la charger dans le modèle de données Power BI Desktop interne. Transformer des données lance l’éditeur Power Query dans une nouvelle fenêtre avec une vue représentative de la table.
  3. Si vous devez charger des tables supplémentaires, répétez les étapes précédentes de sélection de la fonction, en fournissant les valeurs et en chargeant ou en transformant la table.

  4. Après avoir chargé le modèle de données Power BI Desktop, vous pouvez créer des relations entre des tables et créer des rapports.

Détails sur le connecteur personnalisé OneStream

Le connecteur OneStream extrait des données d’une instance OneStream à l’aide des API REST (Representational State Transfer).

Le connecteur OneStream effectue tous les appels d’API sous la limite d’autorisation de l’utilisateur connecté actuel, en appliquant donc la sécurité définie pour l’utilisateur dans OneStream.

Note

Le connecteur utilise uniquement des permissions READ au nom de l'utilisateur du rapport Power BI pour effectuer toutes les opérations. Le connecteur OneStream ne peut effectuer aucune opération de mise à jour.

Le connecteur OneStream a une limitation de 2 millions de lignes par appel. L’exécution d’une requête sur cette limite déclenche une erreur.

Publier des rapports Power BI sur le service Power BI

  1. Sélectionnez le bouton Publier dans Power BI Desktop pour publier des données, des rapports et un modèle de données sur le service Power BI basé sur le cloud.

  2. Choisissez l’espace de travail Power BI approprié, puis sélectionnez Sélectionner.

    Capture d’écran de Power BI Desktop avec le bouton publier, l’espace de travail et le bouton Sélectionner la publication mis en évidence.

  3. Après une publication réussie, un message « Réussite » avec un lien pour accéder au service Power BI s’affiche.

    Capture d’écran de la boîte de dialogue Publication sur Power BI, avec le message de réussite et un lien mis en évidence.

  4. Sélectionnez le lien pour afficher tous les rapports à partir de Power BI Desktop dans le service Power BI, ainsi que créer des tableaux de bord dans le service Power BI.

    Capture d’écran du modèle de données d’actualisation sur le service avec l’icône d’actualisation mise en évidence.

Aide sur les bonnes pratiques et les fonctions

Bonnes pratiques générales

  • Chargez uniquement le grain de données nécessaire. Autrement dit, si vous avez uniquement besoin de données agrégées au niveau du mois, ne chargez pas de données au niveau quotidien. Plus le modèle est petit, plus il est performant.

  • Limitez le nombre de transformations que vous effectuez. Plus vous compliquez la requête, plus la requête risque d’échouer.

  • Tirez parti de la logique financière de OneStream et des vues de cube/adaptateurs de données pour créer les tables qui sont ensuite chargées dans Power BI.

    Exemple : Les consolidations impliquent l’entité parente qui ne prend que 40% de l’une des valeurs des entités enfants. Vérifiez que cette logique est effectuée dans OneStream et que vous chargez l’adaptateur de données dans Power BI, qui contient déjà les valeurs remplies.

    La tentative de réplication de la logique dans Power BI serait extrêmement inefficace et est mieux effectuée dans le système source.

Chargement d’un jeu de données volumineux à l’aide d’une boucle sur des requêtes M personnalisées

Lorsque vous chargez de grandes quantités de données susceptibles d’échouer en raison de la limite maximale de lignes, nous vous recommandons de créer une requête personnalisée directement dans Power BI pour parcourir une dimension, fractionner la requête en plusieurs requêtes et joindre les données à partir des résultats de la requête directement dans Power BI.

L’exemple de requête suivant exécute une récupération de l’adaptateur de données CubeViewMD plusieurs fois. Les 3 composants principaux sont les suivants :

  • GetCubeViewColumns : renvoie une liste de toutes les colonnes de l’adaptateur spécifié que vous essayez de charger. Les colonnes sont définies manuellement pour éviter d’avoir à les analyser dynamiquement, ce qui est coûteux (nécessite une exécution de requête supplémentaire).

  • GetEntities : exécute un DataAdapter configuré en tant que méthode - Membres (voir l’image suivante) pour récupérer tous les membres nécessaires pour une dimension (dans ce cas, entité). Vous pouvez modifier ce paramètre pour parcourir n'importe quelle dimension ou script de membre nécessaire.

    Capture d’écran de la configuration d’une configuration d’adaptateur de données Members.

  • GetCubeViewData : exécute un adaptateur CubeViewMD. CubeView contient un paramètre appelé pbi_param_entity, qui est celui utilisé pour transmettre les valeurs de GetEntities lors de la boucle.

Vous pouvez utiliser ce code dans une requête personnalisée pour exécuter l’adaptateur de données choisi en boucle sur le script membre spécifié pour une dimension.

let
   GetCubeViewColumns = () as list =>
      let 
            Source = {"Cube","Entity","Parent","Cons","Scenario","Time","StartDate","EndDate","View","Account","Flow","Origin","IC","UD1","UD2","UD3","UD4","UD5","UD6","UD7","UD8","CalcScript","Amount"}
      in
            Source,

   GetEmptyTable = () as table =>
      let
            Source = #table(
               GetCubeViewColumns(),
               {
               }
            )
      in 
            Source,

   GetEntities = () as table =>
      let
            Source = OneStream.Navigation("https://your-environment.onestreamcloud.com"),
            YourApp = Source{[Key="YourApp"]}[Data],
            YourCube = YourApp{[Key="YourCube"]}[Data],
            #"Get Custom Adapter" = YourCube{[Key="Get Custom Adapter"]}[Data],
            MemberList = #"Get Custom Adapter"("zzz_PBI_EntityMembers", "Default", null, null),
            MemberListNoDuplicates = Table.Distinct(#"Invoked FunctionGet Custom Adapter1", {"MemberId"}),
            MemberListNamesOnly = Table.RemoveColumns(MemberListNoDuplicates,{"DimTypeId", "DimId", "MemberId", "Description", "SupportsChildren", "IndentLevel"})
      in
            MemberListNamesOnly,


   GetCubeViewData = (EntityName) as table =>
      let
            Source = OneStream.Navigation("https://your-environment.onestreamcloud.com"),
            YourApp = Source{[Key="YourApp"]}[Data],
            YourCube = YourApp{[Key="YourCube"]}[Data],
            #"Get Custom Adapter" = YourCube{[Key="Get Custom Adapter"]}[Data],
            CubeView = try #"Get Custom Adapter"("zzz_PBI_CubeViewAdapter", "Default", null, "pbi_param_entity="& EntityName),
            CubeViewOrDefault = if CubeView[HasError] then GetEmptyTable() else CubeView[Value]
      in
            CubeViewOrDefault,

   List = GetCubeViewColumns(),
   Source = GetEntities(),
   Data = Table.AddColumn(Source, "LoopCubeViewData", each GetCubeViewData([Name])),
   Expand = Table.ExpandTableColumn(Data, "LoopCubeViewData", List),
   Rows = Table.SelectRows(Expand, each [Cube] <> null)
in
   Rows

Obtenir un cube

Cette fonction récupère les données d’un cube OneStream.

  • Tous les paramètres peuvent être spécifiés via le script de membre OneStream (par exemple, 2023.Base pour le temps), à l’exception de View et Currency qui nécessitent un seul membre.
  • La devise fait référence à la dimension Consolidation dans OneStream, de sorte que vous pouvez utiliser Local ou Aggregate par exemple.

Capture d’écran de la boîte de dialogue navigateur avec une fonction Obtenir des données de cube mise en évidence.

Obtenir un adaptateur personnalisé

  • Spécifiez l’espace de travail et le nom de l’adaptateur (paramètres obligatoires).
  • Le nom de la table et les paramètres sont facultatifs.
  • Reportez-vous à un adaptateur de tableau de bord configuré dans OneStream pour vous assurer que vous insérez les valeurs appropriées.

Capture d’écran de la boîte de dialogue du navigateur avec une fonction Obtenir les données de l’adaptateur personnalisé mise en évidence.

Obtenez les dimensions et les propriétés des membres

  • Spécifiez le type de dimension OneStream que vous souhaitez récupérer.
  • Spécifiez le type de scénario. Utilisez Default ou All pour utiliser les dimensions par défaut du cube sélectionné et récupérer les propriétés par défaut.
  • Les descriptions d'inclusion peuvent être définies sur True ou False.

Capture d’écran de la boîte de dialogue navigateur avec une fonction Get Dimension mise en évidence.