Aller au contenu

Allocation By Assignment Dimension

Alloue les valeurs d’une table source à des cibles en fonction d’une dimension d’affectation et d’une table de données d’inducteur. C’est l’étape d’allocation la plus flexible : utilisez-la pour une répartition fondée sur des inducteurs, où la destination de chaque ligne source est déterminée par une hiérarchie et où les valeurs de l’inducteur déterminent quelle part va où.

Schémas courants : répartir les totaux de centres de coûts sur des lignes de produits à partir d’heures d’activité ; distribuer les frais généraux informatiques entre les unités opérationnelles selon l’effectif ; allouer les coûts de services partagés avec une pondération personnalisée.

Hiérarchie d’affectation

La Hiérarchie de la dimension d’affectation vous permet de pointer, cliquer et filtrer l’une ou l’autre des tables, ou les deux, Table des valeurs à allouer et Table de données de l’inducteur, afin de créer des allocations ciblées. La Hiérarchie de la dimension d’affectation est créée en combinant des dimensions qui font référence à la Table des valeurs à allouer et à la Table de données de l’inducteur.

Créer une hiérarchie de dimension d’affectation

Section intitulée « Créer une hiérarchie de dimension d’affectation »

Pour créer la Hiérarchie de la dimension d’affectation, vous devez d’abord créer les dimensions que vous souhaitez utiliser comme filtres pour la Table des valeurs à allouer et la Table de données de l’inducteur. Les liens ci-dessous vous guident dans la création de ces dimensions.

Création de dimensions

Chargement de dimensions

Une fois les dimensions de la Table des valeurs à allouer et de la Table de données de l’inducteur créées, l’étape suivante consiste à décider laquelle des dimensions de la Table des valeurs à allouer servira de Hiérarchie principale pour la Hiérarchie de la dimension d’affectation.

Copiez cette dimension en accédant à l’onglet Dimensions de PlaidCloud, en cliquant sur la dimension, puis en sélectionnant Actions et Copier la dimension. Lorsque vous copiez la dimension, une fenêtre contextuelle vous demande de saisir un nom pour la dimension copiée.

Ajouter des dimensions à la hiérarchie d’affectation
Section intitulée « Ajouter des dimensions à la hiérarchie d’affectation »

Ouvrez la Dimension d’affectation que vous venez de créer, cliquez sur la flèche vers le bas à côté de Propriétés et sélectionnez Nouvelle propriété.

Propriété de la hiérarchie d’affectation

La boîte de dialogue Configuration de la propriété s’ouvre :

Configuration de la propriété de la hiérarchie d’affectation

  • Nom de la propriété : c’est normalement le nom de la dimension ajoutée à la hiérarchie d’affectation.
  • Affichage de la propriété : doit être défini sur « Tag ».
  • Type de propriété : cette propriété indique à l’étape d’allocation à quelle table, Table des valeurs à allouer ou Table de données de l’inducteur, cette dimension est liée.
    • Source : s’utilise avec la Table des valeurs à allouer.
    • Cible : s’utilise avec la Table de données de l’inducteur.
    • Inducteur : sert à filtrer la Table de données de l’inducteur pour l’inducteur sélectionné.
    • Contexte : lorsque la Table des valeurs à allouer et la Table de données de l’inducteur contiennent la même dimension, le contexte permet de préciser comment les dimensions doivent être liées entre elles. Le contexte est souvent utilisé lorsque les deux tables contiennent des Profit / Cost Centers ou des Geography.
      • Laissé vide : un nœud sans contexte propre prend le contexte de l’ancêtre le plus proche qui en définit un ; une cellule vide signifie donc hériter, et non aucun contexte. Ce n’est que lorsqu’aucun ancêtre n’en définit non plus que la Table de données de l’inducteur revient à un filtrage selon le paramètre propre de la dimension cible.
      • Actuel : agit comme un relais et filtre la Table de données de l’inducteur selon les paramètres de la dimension cible. Par exemple, si le Contexte repose sur la dimension Profit Center et que la dimension cible Profit Center est définie sur Tous, les données de l’inducteur sont filtrées sur tous les Profit Centers. Comme il s’agit d’une valeur stockée, elle interrompt aussi l’héritage décrit ci-dessus : Actuel est donc la façon pour un nœud de dire « pas de contexte ici » lorsqu’un ancêtre en définit un, alors que vider la cellule lui ferait hériter du contexte de son ancêtre.
      • Parent : lorsqu’il est sélectionné, le parent du Profit Center de la Table des valeurs à allouer sert à filtrer les valeurs d’inducteur de la Table de données de l’inducteur. C’est utile lorsque les valeurs d’inducteur ne sont parfois pas disponibles pour un Profit Center précis mais le sont souvent au niveau du parent.
      • Tous : lorsqu’il est sélectionné, le Profit Center de la Table des valeurs à allouer ne filtre pas les valeurs d’inducteur de la Table de données de l’inducteur ; les valeurs d’inducteur de tous les Profit Centers sont utilisées.
      • Non attribué : à la place des lignes d’inducteur que sélectionnerait la dimension cible, seules celles dont le Profit Center n’a aucune valeur ou vaut UNASSIGNED (quelle que soit la casse) sont utilisées, et le Profit Center ne répartit pas le résultat. Utilisez-le pour une règle qui répartit des coûts dont aucun Profit Center n’est responsable. Il ne régit que la règle qui le définit : une autre règle qui laisse la même colonne vide n’est pas affectée.
  • Type d’éditeur : cette liste déroulante doit être définie sur Sélectionner une dimension.

Une fois les propriétés appropriées sélectionnées pour la dimension ajoutée à la hiérarchie d’affectation, sélectionnez « Modifier la configuration ».

Configuration de la hiérarchie d’affectation

  • Dimension : utilisez la liste déroulante pour sélectionner la dimension.
  • Hiérarchie : si la dimension sélectionnée a des hiérarchies alternatives, elles apparaissent et peuvent être sélectionnées ici, ainsi que la hiérarchie principale.
  • Nœud de départ : si vous ne souhaitez pas afficher la dimension à partir du nœud supérieur, vous pouvez sélectionner n’importe quel nœud de la hiérarchie comme nœud de départ de l’affichage de la dimension.
  • Autoriser les sélections multiples : si cette case est cochée, l’utilisateur pourra sélectionner plusieurs nœuds de la hiérarchie.
  • Cas particuliers : lorsque cette option est sélectionnée, les cas particuliers peuvent être choisis dans le menu déroulant de la dimension. Ils sont généralement utilisés dans les dimensions Cible.
    • Source : lorsqu’une dimension est définie sur Source, l’allocation ignore cette dimension lorsqu’elle filtre la Table de données de l’inducteur, mais les résultats alloués incluent les valeurs de la dimension.
    • Actuel : peut être utilisé lorsqu’une dimension est partagée entre Source et Cible. Lorsque la dimension Cible est définie sur Actuel, la Table de données de l’inducteur est filtrée selon la valeur courante de la dimension Source pendant l’exécution de l’allocation. Par exemple, si la Table des valeurs à allouer et la Table de données de l’inducteur contiennent plusieurs périodes mais que vous voulez allouer à l’intérieur des périodes et non entre elles. Il est aussi courant d’utiliser Actuel sur les Business Units, les Cost Centers et les Geographies.
    • Non attribué : lorsqu’une dimension est définie sur Non attribué, l’allocation ignore cette dimension lorsqu’elle filtre la Table de données de l’inducteur et le résultat de l’allocation pour cette dimension est une valeur Null.
    • Tous : lorsqu’une dimension est définie sur TOUS, l’allocation utilise toutes les valeurs de la dimension.

La Table des valeurs à allouer, la Table de données de l’inducteur et la Table de résultat d’allocation peuvent être sélectionnées de façon dynamique ou statique.

L’option de table dynamique permet de spécifier une table à l’aide de texte et de variables. Elle est utile dans les workflows pilotés par des variables, où les références de tables ou de vues sont relatives aux variables indiquées.

Exemple utilisant la variable current_month pour pointer dynamiquement vers une table :

legal_entity/inputs/{current_month}/ledger_values

Lorsque vous souhaitez une table précise comme source, laissez la case Dynamique décochée et sélectionnez la table source dans le menu déroulant.

L’Explorateur de tables est toujours disponible avec toute sélection de table. Cliquez sur le bouton Explorateur de tables à droite de la sélection de table pour ouvrir une fenêtre Explorateur de tables.

C’est la table qui contient les valeurs à allouer. Il s’agit généralement de valeurs de coûts ou de revenus.

La table de données de l’inducteur contient les valeurs que l’étape d’allocation utilisera pour allouer les coûts.

Exemples :

  • Pour qu’une chaîne logistique impute des coûts à des clients, vous pouvez utiliser des données de livraison avec le nombre de livraisons ou le poids des livraisons comme inducteur.
  • Pour qu’un support informatique impute ses coûts aux services qu’il assiste, les données de l’inducteur peuvent être le nombre de tickets par centre de coûts.

Les données de l’inducteur peuvent contenir des valeurs positives et négatives. La Règle de signe des données de l’inducteur vous permet de décider comment les signes contradictoires sont traités.

  • Erreur en cas de signes contradictoires : l’étape d’allocation produit une erreur et s’arrête si des signes contradictoires sont rencontrés.
  • Continuer avec un avertissement en cas de signes contradictoires : l’étape d’allocation utilise à la fois les valeurs d’inducteur négatives et positives, mais affiche un avertissement.
  • Utiliser uniquement les valeurs d’inducteur positives : l’étape d’allocation n’utilise que les valeurs d’inducteur positives et ignore les valeurs négatives.
  • Utiliser uniquement les valeurs d’inducteur négatives : l’étape d’allocation n’utilise que les valeurs d’inducteur négatives et ignore les valeurs positives.
  • Utiliser les valeurs absolues des données de l’inducteur : l’étape d’allocation utilise les valeurs absolues des données de l’inducteur.

Faire correspondre les enregistrements à plusieurs règles

Section intitulée « Faire correspondre les enregistrements à plusieurs règles »

Par défaut, un enregistrement ne retient que la première règle qui lui correspond. Décochez Faire correspondre les enregistrements à une seule règle et il retient toutes les règles qui lui correspondent : l’enregistrement apparaît une fois pour chacune d’elles, et un enregistrement qui ne correspond à aucune règle est exclu.

Les règles peuvent aussi être réparties en itérations grâce à une propriété de dimension d’affectation de type Séquencement, dont la valeur est l’itération dans laquelle s’exécute chaque règle. Une étape pour laquelle Faire correspondre les enregistrements à une seule règle est décochée ne peut pas faire les deux : si les règles exécutées se répartissent sur plus d’une itération, l’étape s’arrête avec Cannot apply rules when there are multiple iterations and records can match more than one rule. Cochez l’option, ou exécutez chaque itération comme une étape distincte.

Les Tables intermédiaires sont créées chaque fois qu’une étape d’allocation s’exécute et fournissent un résumé du traitement de l’allocation. Elles donnent un aperçu du déroulement du processus d’allocation et servent à diagnostiquer des résultats inattendus.

  • Chemins : indique le nombre de chemins d’allocation uniques résumés à partir de la hiérarchie d’affectation.
  • Mappage : indique comment chaque ligne de la Table des valeurs à allouer est associée aux cibles d’allocation.
  • Résumé : indique chaque règle, issue de la hiérarchie d’affectation, et combien d’enregistrements de la Table des valeurs à allouer lui correspondent.

Lorsque Faire correspondre les enregistrements à une seule règle est coché, un enregistrement qui ne correspond à aucune règle a des colonnes de règle vides dans la table Mappage, et il est comptabilisé sur la ligne du Résumé qui ne nomme aucune règle. Une valeur qu’une règle laisse vide est également vide. Vide signifie null, jamais une chaîne vide, et les trois tables ont les mêmes colonnes et les mêmes types, que Appliquer les règles avec SQL, pas Pandas soit coché ou non.

Si cette case est cochée, les résultats de l’allocation sont ajoutés à la table de résultat d’allocation. Si cette case n’est pas cochée, la table de résultats d’allocation est écrasée à chaque exécution de l’étape d’allocation.

Si cette case est cochée, la table de résultats affiche le montant de chaque enregistrement alloué ainsi que le montant réellement alloué à chaque enregistrement d’inducteur.

Si cette case est cochée, l’exécution de l’étape d’allocation renomme le nœud de dimension dans la dimension d’affectation.

Définit le nombre d’opérations simultanées que l’étape d’allocation utilisera.

Définit le nombre de chemins d’allocation au sein d’un thread.

Mappage de la source d’allocation

Le mappage de la source d’allocation sert à mapper les colonnes de la Table des valeurs à allouer qui seront utilisées dans l’étape d’allocation.

Inspection et renseignement du mappeur

Le bouton de menu Inspecter la source offre d’autres façons de mapper les colonnes de la source vers la cible :

  • Renseigner les deux tables de mappage : propage toutes les valeurs de la table de données source vers la table de données cible. C’est le comportement par défaut.
  • Renseigner uniquement la table de mappage source : mappe uniquement les valeurs de la table de données source. C’est utile lorsque vous modifiez un workflow existant dont la structure des colonnes source a changé.
  • Renseigner uniquement la table de mappage cible : propage toutes les valeurs uniquement vers la table de données cible.

Si les options de colonnes source et cible ne suffisent pas, vous pouvez ajouter d’autres colonnes à la table de données cible de plusieurs façons :

  • Tout propager insère toutes les colonnes source dans la table de données cible, qu’elles y figurent déjà ou non.
  • Propager la sélection insère uniquement les colonnes source sélectionnées.
  • Faites un clic droit côté cible et sélectionnez Insérer une ligne pour insérer une ligne juste au-dessus de la ligne actuellement sélectionnée.
  • Faites un clic droit côté cible et sélectionnez Ajouter une ligne pour insérer une ligne en bas (à l’extrême droite) de la table de données cible.

Rôle

Chaque colonne du Data Mapper doit se voir attribuer un rôle :

  • Transmission directe : ces colonnes apparaîtront dans la table de résultat de l’allocation.
  • Valeur à allouer : c’est la colonne qui contient les valeurs à allouer.

Suppression de colonnes

Pour supprimer des colonnes de la table de données cible, sélectionnez les colonnes souhaitées, faites un clic droit, puis sélectionnez Supprimer.

Modification de l’ordre des colonnes

Pour réorganiser les colonnes de la table de données cible, sélectionnez les colonnes souhaitées. Vous pouvez utiliser l’une des deux méthodes suivantes :

  • Flèches de déplacement groupé : sélectionnez l’option de déplacement souhaitée parmi les flèches en haut à droite.
  • Menu contextuel : faites un clic droit et sélectionnez Déplacer en haut, Monter, Descendre ou Déplacer en bas.

Réduire le résultat aux enregistrements distincts

Pour ne renvoyer que les valeurs distinctes, sélectionnez l’option de menu Distinct. Un ensemble de cases à cocher s’affiche pour chaque colonne de la source. Il suffit de cocher la case en regard de la colonne correspondante pour ne renvoyer que les résultats distincts.

Selon la situation, il peut être préférable d’utiliser plutôt le résumé.

Le traitement des valeurs distinctes conserve le premier enregistrement unique trouvé et supprime les autres. Si la cohérence entre les exécutions est importante, il peut être utile de trier les données.

Agrégation et regroupement

Pour agréger les résultats, sélectionnez l’option de menu Résumer. Un ensemble de listes de sélection s’affiche pour chaque colonne de la table de données cible. Choisissez une méthode de résumé appropriée pour chaque colonne.

  • Regrouper par
  • Somme
  • Min
  • Max
  • Premier
  • Dernier
  • Nombre
  • Nombre (valeurs nulles incluses)
  • Moyenne
  • Écart type
  • Écart type d’échantillon
  • Écart type de population
  • Variance
  • Variance d’échantillon
  • Variance de population
  • Avancé hors regroupement

Pour l’utilisation avancée du Data Mapper, comme les expressions, le nettoyage et les constantes, consultez Utilisation avancée du Data Mapper

Filtres de données de la table

Pour offrir un maximum de souplesse, des filtres de données sont disponibles sur les données source et sur les données cible. Pour les jeux de données volumineux, il peut être particulièrement avantageux de filtrer les lignes dès la source afin que les opérations suivantes portent sur un jeu de données plus petit.

Sélectionner un sous-ensemble de données

Ce type de filtre permet de filtrer les données source entrantes selon les conditions spécifiées.

Appliquer un filtre secondaire aux données de résultat

Ce type de filtre permet d’appliquer un filtre aux données de résultat après transformation, selon les conditions spécifiées. La possibilité d’appliquer un filtre au résultat transformé permet d’exclure des lignes en fonction du résultat de calculs complexes, de synthèses ou de fonctions de fenêtrage.

Découpage final de la table de données (limite)

Le découpage des lignes permet de limiter les lignes du jeu de résultats selon une plage et un point de départ.

Syntaxe des filtres

La syntaxe des filtres utilise Python SQLAlchemy, qui est la même syntaxe que celle des autres expressions.

Consultez des exemples et des fonctions d’expression dans la section Expressions.

Mappage des données de l’inducteur d’allocation

Le mappage des données de l’inducteur sert à mapper les colonnes de la Table de données de l’inducteur qui seront utilisées dans l’étape d’allocation.

Inspection et renseignement du mappeur

Le bouton de menu Inspecter la source offre d’autres façons de mapper les colonnes de la source vers la cible :

  • Renseigner les deux tables de mappage : propage toutes les valeurs de la table de données source vers la table de données cible. C’est le comportement par défaut.
  • Renseigner uniquement la table de mappage source : mappe uniquement les valeurs de la table de données source. C’est utile lorsque vous modifiez un workflow existant dont la structure des colonnes source a changé.
  • Renseigner uniquement la table de mappage cible : propage toutes les valeurs uniquement vers la table de données cible.

Si les options de colonnes source et cible ne suffisent pas, vous pouvez ajouter d’autres colonnes à la table de données cible de plusieurs façons :

  • Tout propager insère toutes les colonnes source dans la table de données cible, qu’elles y figurent déjà ou non.
  • Propager la sélection insère uniquement les colonnes source sélectionnées.
  • Faites un clic droit côté cible et sélectionnez Insérer une ligne pour insérer une ligne juste au-dessus de la ligne actuellement sélectionnée.
  • Faites un clic droit côté cible et sélectionnez Ajouter une ligne pour insérer une ligne en bas (à l’extrême droite) de la table de données cible.

Rôle

Chaque colonne du Data Mapper doit se voir attribuer un rôle :

  • Relation source : ces colonnes ont des colonnes correspondantes dans la Table des valeurs à allouer.
  • Cible d’allocation : ces colonnes seront la cible de l’étape d’allocation et apparaîtront dans la Table de résultat d’allocation.
  • Valeur de fractionnement : cette colonne contient les valeurs qui serviront à allouer les valeurs de la Table des valeurs à allouer.

Suppression de colonnes

Pour supprimer des colonnes de la table de données cible, sélectionnez les colonnes souhaitées, faites un clic droit, puis sélectionnez Supprimer.

Modification de l’ordre des colonnes

Pour réorganiser les colonnes de la table de données cible, sélectionnez les colonnes souhaitées. Vous pouvez utiliser l’une des deux méthodes suivantes :

  • Flèches de déplacement groupé : sélectionnez l’option de déplacement souhaitée parmi les flèches en haut à droite.
  • Menu contextuel : faites un clic droit et sélectionnez Déplacer en haut, Monter, Descendre ou Déplacer en bas.

Réduire le résultat aux enregistrements distincts

Pour ne renvoyer que les valeurs distinctes, sélectionnez l’option de menu Distinct. Un ensemble de cases à cocher s’affiche pour chaque colonne de la source. Il suffit de cocher la case en regard de la colonne correspondante pour ne renvoyer que les résultats distincts.

Selon la situation, il peut être préférable d’utiliser plutôt le résumé.

Le traitement des valeurs distinctes conserve le premier enregistrement unique trouvé et supprime les autres. Si la cohérence entre les exécutions est importante, il peut être utile de trier les données.

Agrégation et regroupement

Pour agréger les résultats, sélectionnez l’option de menu Résumer. Un ensemble de listes de sélection s’affiche pour chaque colonne de la table de données cible. Choisissez une méthode de résumé appropriée pour chaque colonne.

  • Regrouper par
  • Somme
  • Min
  • Max
  • Premier
  • Dernier
  • Nombre
  • Nombre (valeurs nulles incluses)
  • Moyenne
  • Écart type
  • Écart type d’échantillon
  • Écart type de population
  • Variance
  • Variance d’échantillon
  • Variance de population
  • Avancé hors regroupement

Pour l’utilisation avancée du Data Mapper, comme les expressions, le nettoyage et les constantes, consultez Utilisation avancée du Data Mapper

Filtres de données de la table

Pour offrir un maximum de souplesse, des filtres de données sont disponibles sur les données source et sur les données cible. Pour les jeux de données volumineux, il peut être particulièrement avantageux de filtrer les lignes dès la source afin que les opérations suivantes portent sur un jeu de données plus petit.

Sélectionner un sous-ensemble de données

Ce type de filtre permet de filtrer les données source entrantes selon les conditions spécifiées.

Appliquer un filtre secondaire aux données de résultat

Ce type de filtre permet d’appliquer un filtre aux données de résultat après transformation, selon les conditions spécifiées. La possibilité d’appliquer un filtre au résultat transformé permet d’exclure des lignes en fonction du résultat de calculs complexes, de synthèses ou de fonctions de fenêtrage.

Découpage final de la table de données (limite)

Le découpage des lignes permet de limiter les lignes du jeu de résultats selon une plage et un point de départ.

Syntaxe des filtres

La syntaxe des filtres utilise Python SQLAlchemy, qui est la même syntaxe que celle des autres expressions.

Consultez des exemples et des fonctions d’expression dans la section Expressions.

Table des valeurs à allouer

Allocation par dimension

Table de données de l’inducteur

Allocation par dimension

Hiérarchie de la dimension d’affectation

Allocation par dimension

Comme la dimension Target RC est définie sur Actuel, les données de l’inducteur seront filtrées selon les valeurs de Source RC de la Table des valeurs à allouer. Comme la seule valeur de Source RC est « A », seuls les enregistrements d’inducteur où RC = A seront utilisés dans l’étape d’allocation.

Table de résultats d’allocation

Allocation par dimension

Table des valeurs à allouer

Allocation par dimension

Table de données de l’inducteur

Allocation par dimension

Hiérarchie de la dimension d’affectation

Allocation par dimension

Comme la dimension Target RC est définie sur TOUS, les données de l’inducteur incluront toutes les valeurs de RC, comme vous pouvez le voir dans la colonne RC de la Table de résultats d’allocation.

Table de résultats d’allocation

Allocation par dimension

Table des valeurs à allouer

Allocation par dimension

Table de données de l’inducteur

Allocation par dimension

Hiérarchie de la dimension d’affectation

Allocation par dimension

Avec Context RC défini sur TOUS et Target RC défini sur Source, les données de l’inducteur incluront tous les RC des données de l’inducteur. Context RC remplacera le paramètre de Target RC.

Table de résultats d’allocation

Allocation par dimension

Table des valeurs à allouer

Allocation par dimension

Table de données de l’inducteur

Allocation par dimension

Hiérarchie de la dimension d’affectation

Allocation par dimension

Avec Context RC défini sur TOUS, les données de l’inducteur incluront tous les RC des données de l’inducteur.

Table de résultats d’allocation

Allocation par dimension