Conseils sur le chargement de données et la construction de dimensions
Pour gagner du temps, vous pouvez créer des dimensions incrémentielles dans Essbase et charger des sous-ensembles de données. Pour éviter d'écraser des valeurs consolidées, évitez de charger des données dans les membres parent. Pour éviter les erreurs de traitement des données, assurez-vous que chaque enregistrement de la source comporte le même nombre de champs de valeur de données.
Pour plus d'informations sur le chargement de données et la création de dimensions, reportez-vous aux rubriques suivantes :
Builds de dimension incrémentielle
Pour permettre à Essbase de lire plusieurs sources de données lors de la création de l'outline du cube, utilisez des builds de dimension incrémentielle. Les retards de gradation incrémentiels expliquent la restructuration jusqu'à ce que toutes les sources de données aient été traitées.
Ignorez cette rubrique si vous chargez uniquement des données ou si vous utilisez une source de données unique pour une construction de dimension.
Par défaut, chaque fois que vous apportez des modifications à une outline, Essbase prend en compte le type de modification et restructure le cube si nécessaire. La restructuration reconstitue la base de données, ce qui consomme du temps et de l'espace disque.
Les constructions de dimension incrémentielles, également appelées constructions de dimension de restructuration différée, lisent plusieurs sources de données pour les constructions de dimension et retardent la restructuration jusqu'à ce que toutes les sources de données aient été traitées.
Si vous ajoutez une dimension virtuelle (calcul ou marque comme information seule), toute donnée existante dans le cube est stockée avec le premier membre stocké de niveau 0 dans la nouvelle dimension. Il doit y avoir au moins un membre stocké dans la hiérarchie, sinon une erreur sera renvoyée lors de la vérification de l'outline.
Lorsque vous créez une dimension à un cube existant de façon incrémentielle à l'aide d'un classeur d'application, les données seront automatiquement mises en correspondance avec le nouveau membre supérieur. Il n'est pas possible de choisir un membre stocké avec lequel mettre en correspondance les données existantes. Si la nouvelle dimension dispose d'un membre supérieur de type calcul dynamique, les données sont perdues, car les membres dynamiques ne peuvent pas les stocker.
- Ajoutez la nouvelle dimension avec le membre supérieur comme étant stockée.
- Exécutez un script de calcul pour copier les données à partir du nouveau membre supérieur dans un autre membre stocké de cette dimension.
- Modifiez le membre supérieur en calcul dynamique.
MaxL vous permet d'inclure toutes les sources de données dans une instruction import. Vous pouvez contrôler si la validation de l'outline est effectuée pour chaque fichier. Vous devez activer la validation de l'outline pour le dernier fichier.
Dans tous les cas, les sources de données sont traitées dans l'ordre dans lequel elles sont répertoriées.
Remarques :
MaxL vous permet d'appliquer ou de supprimer la vérification de l'outline pour chaque fichier. Pour garantir une outline valide, assurez-vous que le dernier build vérifie l'outline.
Voir aussi
Mise à jour incrémentielle des cubes dans le concepteur de cubes
Optimiser la restructuration de la base de données (cubes de stockage en bloc)
Restructuration de cube en mode "aggregate storage" (cubes de stockage agrégés)
Emplacement de chargement des données
Avant d'effectuer un chargement de données, prenez des mesures pour empêcher l'écrasement involontaire des données. Evitez de charger des membres parent dans un cube en mode "block storage". Si vous devez le faire, prenez les mesures nécessaires pour vous assurer qu'Essbase ne consolide pas les valeurs #MISSING des enfants dans le parent.
Ignorez cette section si vous créez des dimensions ou utilisez une base de données en mode "aggregate storage" (ASO).
Si vous chargez des données dans un membre parent, lorsque vous calculez la base de données, la consolidation des valeurs de données des enfants peut remplacer la valeur de données parent. Pour empêcher l'écrasement :
-
Si possible, ne chargez pas les données directement dans un parent.
-
Si vous devez charger des données dans un membre parent, assurez-vous qu'Essbase ne peut pas consolider les valeurs #MISSING des enfants du parent dans le parent, en modifiant le paramètre d'agrégation #MISSING.
Vous pouvez définir le comportement d'agrégation manquant à l'aide de MaxL, d'un classeur d'application, de l'outline ou des scripts de calcul.
-
Pour modifier le comportement d'agrégation manquant à l'aide de l'interface Web Essbase, modifiez le paramètre Agréger les valeurs manquantes dans la page de personnalisation de la base de données. Reportez-vous à Définition de propriétés de cube avancées.
-
Pour modifier le comportement d'agrégation manquant à l'aide d'un classeur d'application, modifiez le paramètre Agréger les valeurs manquantes dans la feuille de calcul Cube.Settings.
-
Pour modifier le comportement d'agrégation manquant dans un script de calcul, utilisez la commande de calcul SET AGGMISSG.
-
Pour modifier le comportement manquant de l'agrégat à l'aide de MaxL, utilisez
alter database appname.dbname enable|disable aggregate_missing.
Les méthodes mentionnées ci-dessus ne fonctionnent que si les valeurs enfant sont vides (#MISSING). Si les enfants ont des valeurs, celles-ci remplacent les valeurs du parent. Reportez-vous à la section #MISSING Values.
Remarques :
Vous ne pouvez pas charger de données dans des membres de calcul dynamique ou d'attribut. Par exemple, si Year est un membre de calcul dynamique, vous ne pouvez pas y charger de données. Chargez plutôt les données dans les membres Qtr1, Qtr2, Qtr3 et Qtr4, qui ne sont pas des membres Calcul dynamique.
Champs manquants dans les données source
Lors de l'exécution d'un chargement de données Essbase, chaque enregistrement des données source doit avoir le même nombre de champs de valeur de données. Si des valeurs de données sont manquantes, le chargement des données est incorrect.
Si un champ de dimension ou de membre est manquant, Essbase utilise la valeur qu'il a utilisée précédemment pour cette dimension ou ce champ de membre. Voir Chargements de données de débogage et constructions de dimensions.
Si une règle comporte des champs vides supplémentaires, jointez les champs vides avec le champ en regard.
Dans les cubes en mode "aggregate storage", les valeurs ne peuvent être chargées que dans les cellules de niveau 0. Si vous indiquez #MISSING ou #MI comme valeur dans la source, la cellule associée est supprimée, si elle est présente dans le cube.
Pour plus d'informations sur les différences de chargement des données pour les cubes en mode "aggregate storage", reportez-vous aux sections suivantes :