Opérations de base de données sur les mesures de texte et de date
Les opérations courantes que vous effectuez sur les cubes Essbase avec des mesures de date sont similaires à celles des autres cubes. Vous pouvez charger, effacer et exporter des valeurs de texte et de date. Vous pouvez consolider les classements. Vous pouvez interroger les données dans MDX, Smart View, Report Writer ou d'autres clients Grid.
Vous pouvez effectuer les opérations de base de données suivantes lorsque vous utilisez des mesures de type texte et date :
Charger, effacer et exporter des mesures de texte et de date
Chargez les valeurs de mesure saisies Essbase à n'importe quel niveau dans les cubes BSO ou au niveau de l'entrée dans les cubes ASO. Pour ASO, il est préférable de valider un tampon de chargement unique, en spécifiant l'option de remplacement. Vous devrez peut-être distinguer les valeurs de texte ou de date des noms de membre en ajoutant un préfixe #Txt:.
Pour charger des données dans des mesures de type texte ou date, suivez la même procédure que pour charger des données dans des membres avec des mesures numériques. Les données d'entrée doivent contenir des valeurs de date formatées ou des valeurs de texte correspondant à l'objet de liste de texte associé à la mesure de texte.
Si vous tentez de charger des valeurs de texte qui ne sont pas présentes dans l'objet de liste de texte associé à ce membre, Essbase émet un message d'avertissement.
Dans les cubes en mode "aggregate storage" (ASO), les valeurs ne peuvent être chargées qu'au niveau de l'entrée. Cette restriction s'applique également aux mesures de type texte et date. Dans les cubes en mode "block storage", les valeurs de texte et de date peuvent être chargées à tout niveau.
Vous pouvez effacer, verrouiller et envoyer et exporter des valeurs de texte ou de date tout comme vous effectuez ces opérations sur des valeurs numériques.
Format des mesures textuelles dans les exportations de données et les importations de données en format libre
#Txt: et en plaçant le préfixe et les valeurs de texte entre guillemets ; par exemple : "#Txt:Highly Satisfied".
Remarques :
La chaîne entière, y compris le préfixe, doit être placée entre guillemets.Voici un exemple de ligne de données dans un fichier de chargement de données de format libre. Le format d'un fichier d'export de données est également le suivant : lorsque vous exportez des données d'un cube en mode "aggregate storage" avec des mesures textuelles :
"100-10" "New York" "Cust Index" "#Txt:Highly Satisfied"La valeur de texte Highly Satisfied est le nom de l'objet de liste de texte, précédé du marqueur #Txt: pour le différencier des noms de membre tels que "New York".
Le préfixe #Txt: est également applicable lors du chargement des mesures de date, des valeurs #Missing et des valeurs qui seraient #OutOfRange.
Les mesures textuelles exportées sont marquées dans le fichier d'exportation avec #Txt: comme préfixe avant le nom de l'objet de liste de texte. Exemple :
"100-10" "New York" "Cust Index" "#Txt:Highly Satisfied"Lorsque vous réimportez des mesures textuelles dans le cube à l'aide d'un chargement de données de format libre sans fichier de règles, les marqueurs #Txt: sont requis pour distinguer les noms d'objet de liste de texte des autres données.
Instructions supplémentaires pour le stockage en mode "aggregate storage" pour le chargement de valeurs de texte et de date
Suivez les instructions ci-après lors du chargement de valeurs de texte et de date dans un cube en mode "aggregate storage". Ces directives vous aideront à éliminer les agrégations non valides.
-
Charger les valeurs au niveau de l'entrée.
-
Utilisez le mode Replace lors de la validation d'un tampon de chargement.
Pour définir le mode de remplacement lors de la validation d'un tampon, dans MaxL, utilisez la grammaire valeurs de remplacement de l'instruction import data. Dans l'API REST, utilisez le type de travail asoBufferCommit pour Exécuter le travail, en indiquant termOption en tant qu'INCR_TO_NEW_SLICE (ou 1) lorsque vous validez le tampon (reportez-vous également à Créer une adresse de tampon dans la documentation de l'API REST pour plus de détails). Dans l'API Java Essbase, utilisez le paramètre commitType de la méthode IEssCube.loadBufferTerm. Dans l'API C, utilisez le champ ulCommitType de la fonction EssLoadBufferTerm.
-
Utilisez un tampon de chargement unique pour charger toutes les valeurs associées aux mesures de date/texte.
-
Définissez la méthode d'agrégation des doublons sur "utiliser en dernier" lors de l'initialisation du tampon de chargement, afin d'éliminer les agrégations non valides.
Attention :
La méthode Aggregate_use_last a un impact significatif sur les performances et n'est pas destinée aux chargements de données volumineux. Si votre chargement de données est supérieur à un million de cellules, envisagez de séparer les données numériques en un processus de chargement de données distinct (à partir de toutes les données de mesure typées). Le chargement de données distinct peut utiliser la somme agrégée à la place.
Pour spécifier l'option "use last" dans MaxL, reportez-vous au terminal PROPS qui fait partie de la clause initialize load_buffer dans l'instruction alter database. Dans l'API REST, indiquez duplicateAggregationMethod en tant que USE_LAST lorsque vous initialisez le tampon (reportez-vous à la section Créer une adresse de tampon dans la documentation de l'API REST). Dans l'API Java Essbase, utilisez le paramètre duplicateAggregationMethod de la méthode IEssCube.loadBufferInit. Dans l'API C, utilisez le champ ulDuplicateAggregationMethod de la fonction EssLoadBufferInit.
-
Evitez de charger des valeurs #MISSING dans des mesures de type texte/date en mode de chargement incrémentiel des données. Lorsqu'une valeur #MISSING est chargée dans une cellule avec une valeur non manquante dans un chargement incrémentiel, elle est remplacée par une valeur zéro. La valeur zéro ne peut pas avoir la même signification que la valeur #MISSING pour les mesures de date/texte. Utilisez le chargement complet des données si vous devez charger les valeurs #MISSING dans les mesures de date/texte.
Si des données mixtes (numériques, texte ou date) sont en cours de chargement, assurez-vous que le mode Remplacer est suffisant pour vos données numériques ou créez un processus de chargement de données distinct pour les données numériques.
Facteurs de consolidation pour les mesures de type texte et date
Par défaut, l'opérateur ^ (ne jamais consolider) est affecté aux mesures de texte. Les mesures de type texte et date ne sont pas consolidées en membres de niveau supérieur dans les dimensions autres que Comptes. Vous pouvez avoir des raisons de consolider des mesures textuelles dans des cubes BSO Essbase, si ces mesures sont utilisées pour le classement.
Si vous marquez un texte ou une mesure de date avec un opérateur autre que ^, il sera consolidé avec d'autres dimensions en fonction de sa valeur numérique interne. Cela n'est pas recommandé pour les cubes en mode "aggregate storage", car seul l'opérateur + est pris en charge pour la consolidation et les valeurs agrégées n'auront probablement aucune validité pour les mesures de type texte ou date. En outre, Essbase ne convertit pas les valeurs hors plage en valeurs #OUTOFRANGE pendant la consolidation.
Pour les cubes en mode "block storage", vous pouvez écrire des scripts de calcul qui consolident les mesures textuelles de manière personnalisée. Vous pouvez consolider des mesures de type texte lorsqu'elles représentent des mesures de classement. Prenons par exemple une liste de texte nommée "CustomerSatisfaction", qui contient des mappings tels que Excellent=5, Bon=4, Juste=3, Mauvais=2, Mauvais=1. Les valeurs sont chargées au niveau 0. Vous pouvez consolider des valeurs aux niveaux parent en prenant une moyenne de valeurs aux niveaux enfant. Par exemple, la valeur de "CustomerSatisfaction" à [Qtr1] est la moyenne des valeurs à [Jan], [Fév], [Mar].
Requête sur données avec mesures de type texte et date
Les mesures de type texte ou date peuvent être extraites/interrogées de la même manière que les mesures numériques, à l'aide de Smart View, MDX, Report Writer ou de la vue Analyser dans l'interface Web Essbase. Les cellules correspondantes s'affichent avec les valeurs de texte ou de date formatées appropriées.
Par exemple, la grille Smart View suivante provient du cube Facility Rating, que vous pouvez télécharger à partir du catalogue Fichiers sous Tous les fichiers > Galerie > Applications > Evaluation de l'établissement. Le membre Réponse est une mesure textuelle au sein de la dimension Mesures.

La fonction MDX ENUMVALUE et la fonction de calcul @ENUMVALUE sont conçues pour obtenir la valeur numérique des mesures de texte. Ces fonctions peuvent être utiles dans les scripts MDX, les scripts de calcul ou les formules lorsque vous devez effectuer des opérations basées sur la valeur numérique d'un membre plutôt que sur sa valeur textuelle.
Les commandes Report Writer suivantes sont conçues pour fonctionner avec des données numériques et ne sont pas prises en charge pour les mesures de texte ou de date :
-
RESTREINDRE
-
TOP
-
BAS
-
Commandes SORT*
-
CALCULER LA COLONNE
-
CALCULER LA LIGNE
Limites des mesures de texte et de date
Si vous mettez à jour un objet de liste de texte, ajoutez des éléments en haut ou en bas pour éviter les impacts potentiels de la restructuration de l'outline Essbase. Les membres partagés ont le même type de texte ou de date que le membre prototype.
Une restructuration d'outline ne permet pas de restructurer les listes de texte. Si la mise en correspondance de valeurs numériques avec des valeurs de texte dans une liste de texte est modifiée, la modification sera reflétée dans les données de texte déjà présentes dans la base de données pour cette liste de texte. Par conséquent, lorsque vous ajoutez des éléments à une liste de texte, ajoutez-les en haut ou en bas de la liste afin d'éviter de modifier les numéros de mappage des éléments de liste de texte existants.
Les mesures de type texte et date ne sont pas prises en charge entre les partitions.
Les membres partagés et les membres partagés implicites héritent du texte ou du type de date du membre prototype.