Déboguer les chargements de données et les constructions de dimensions
Les problèmes liés aux chargements de données et aux builds de dimension Essbase incluent des chargements incorrects ou des processus en échec. La source peut contenir des membres inconnus ou des champs manquants/non valides, la règle de chargement n'est peut-être pas valide ou il n'y a pas de connexion au serveur ou aux données source. Les journaux d'erreurs peuvent vous aider à déboguer.
Si une source de données ne se charge pas correctement dans Essbase Server, assurez-vous que vous êtes connecté à l'application et à la base de données appropriées et que vous chargez la source de données appropriée.
Si vous rencontrez toujours des problèmes, reportez-vous aux rubriques suivantes :
-
Créer des critères de rejet pour les marqueurs de fin de fichier
-
Comment Essbase traite les champs manquants ou non valides lors d'un chargement de données
Après avoir corrigé les problèmes, vous pouvez recharger les enregistrements qui n'ont pas été chargés en rechargeant le journal des erreurs. Voir : Charger à partir des journaux d'erreurs de construction de dimension et de chargement de données.
Vérifiez que le serveur Essbase est disponible
Si vous ne pouvez pas charger de données, assurez-vous que le serveur Essbase est en cours d'exécution. Essayez d'accéder au serveur Essbase pour d'autres opérations.
Par exemple, vérifiez que vous pouvez vous connecter à l'application Essbase pour une extraction : essayez d'exécuter une requête dans Smart View.
Vérifier que les données source sont disponibles
Si Essbase ne peut pas accéder aux données source à charger, assurez-vous (s'il s'agit d'un fichier) qu'il est déverrouillé et que le chemin et l'extension de fichier sont corrects. Si les données source sont une base de données externe, assurez-vous qu'elles sont en cours d'exécution et que vous pouvez vous connecter.
Vérifiez les détails suivants sur les données source.
-
Les données source ne sont pas ouvertes (par exemple, quelqu'un modifie-t-il les données source ?).
Essbase peut charger uniquement les données source qui ne sont pas verrouillées par un autre utilisateur ou une autre application.
-
L'extension de fichier des données source est correcte.
Les fichiers texte doivent avoir l'extension
.txt; les fichiers de règles doivent avoir l'extension.rul. -
Le nom du fichier de données source et le chemin d'accès sont corrects.
Recherchez les fautes d'orthographe.
-
Les données source se trouvent à l'emplacement indiqué.
Assurez-vous que personne n'a déplacé ou supprimé le fichier de données source.
-
Si vous utilisez une source de données SQL :
-
Les détails de connexion (tels que le nom utilisateur, le mot de passe et le nom de base de données) sont corrects.
-
Vous pouvez vous connecter aux données source SQL sans utiliser Essbase.
-
Vérifier les journaux d'erreurs
Il est conseillé d'écrire Essbase dans un journal d'erreurs lors des chargements de données ou des builds de dimension, car ce journal est un outil de débogage précieux. Il répertorie les erreurs survenues lors d'une construction de dimension ou d'un chargement de données et inclut les enregistrements qui n'ont pas pu être chargés.
Une fois les erreurs corrigées, vous pouvez recharger à partir du journal des erreurs. S'il n'y a pas de journal d'erreurs, vérifiez si les conditions suivantes existent :
-
La personne qui exécute le travail de chargement de données ou de construction de dimension a configuré un journal d'erreurs. Lors de l'exécution d'un chargement de données ou d'une construction de dimension, vous pouvez indiquer à Essbase d'abandonner le chargement de données en cas d'erreur ou d'écrire/d'ajouter les erreurs à un journal.
Lorsque Essbase crée un journal d'erreurs pour la construction de dimension ou le chargement de données, il est créé dans le répertoire de cube. Le format de fichier est
err_<databasename>_<number>.txt. -
La source des données et le serveur Essbase sont tous deux disponibles.
Reportez-vous à Vérification de la disponibilité du serveur Essbase et à Vérification de la disponibilité des données source.
-
Le serveur Essbase a planté lors du chargement des données.
Si tel est le cas, vous avez probablement reçu une erreur d'expiration du réseau sur le client.
-
Le journal d'application existe.
Si le journal d'erreurs existe mais est vide, Essbase ne pense pas qu'une erreur soit survenue lors du chargement. Vérifiez si les conditions suivantes existent :
-
La règle de chargement contient des critères de sélection ou de rejet qui ont rejeté tous les enregistrements de la source.
Reportez-vous à la section Sélectionner et rejeter des enregistrements.
-
La règle de chargement est validée correctement.
Reportez-vous à Configuration requise pour les fichiers de règle de chargement de données valides et à Configuration requise pour les fichiers de règle de construction de dimension valides.
Résoudre les problèmes de chargement incorrect des données
Si les données Essbase sont chargées sans erreur mais que les données semblent incorrectes, vérifiez d'abord les données source, puis recherchez les partages implicites, le redimensionnement des données, le basculement des signes et d'autres problèmes potentiels liés aux règles de chargement.
Vérifiez les éléments suivants pour dépanner les données qui ont été chargées :
-
Vous avez chargé la source de données appropriée.
Si tel est le cas, vérifiez à nouveau la source de données pour vous assurer qu'elle contient les valeurs correctes.
-
Les données source sont formatées correctement.
-
Toutes les plages sont configurées correctement.
-
Les données sont propres. Par exemple, lorsqu'il traite la source de données, Essbase reconnaît les noms de membre et connaît les dimensions auxquelles ils appartiennent. Si un enregistrement de source de données inclut par inadvertance un membre d'une dimension pour laquelle un membre est nommé dans l'enregistrement d'en-tête, le nouveau nom de membre remplace le membre d'enregistrement d'en-tête de cette dimension. Dans l'exemple de source de données suivant, Essbase reconnaît la Floride comme membre de la dimension Market. Les valeurs des quatre derniers enregistrements sont interprétées comme des valeurs de Floride plutôt que comme des valeurs du Texas.
Jan Actual Texas Sales "100-10" 51.7 "100-20" 102.5 "100-20" 335.0 Florida 96.7 "200-20" 276.0 "200-20" 113.1 "200-10" 167.0
-
-
Y a-t-il des membres partagés implicitement (quand un parent et un enfant partagent la même valeur de données) dont vous n'étiez pas au courant ?
Un membre partagé implicite se produit lorsqu'un parent et un enfant partagent la même valeur de données. Cela peut se produire si un parent n'a qu'un seul enfant ou si un seul enfant est consolidé dans le parent.
-
Vous avez ajouté des données entrantes à des données existantes au lieu de les remplacer par des données existantes.
-
Vous avez sélectionné ou rejeté tous les enregistrements que vous n'aviez pas l'intention de sélectionner ou de rejeter.
Reportez-vous à la section Sélectionner et rejeter des enregistrements.
-
Le signe est inversé (par exemple, un signe moins au lieu d'un signe plus) et si vous avez effectué des bascules de signe sur des UDA.
Reportez-vous à la section Flip Field Signs.
-
Vous avez effacé les combinaisons de données que vous n'aviez pas l'intention de supprimer.
Reportez-vous à Effacement des valeurs de données existantes lors du chargement des données.
-
Vous avez mis à l'échelle les valeurs entrantes de manière incorrecte.
Reportez-vous à Echelle des valeurs de données.
-
Tous les noms de membre et d'alias comportent moins de 79 caractères.
Vous pouvez vérifier les données en exécutant une requête à partir de Smart View ou de Report Writer.
Créer des critères de rejet pour les marqueurs de fin de fichier
Une source de données SQL peut comporter un marqueur de fin de fichier composé de caractères spéciaux qui entraînent l'échec d'un chargement de données ou d'une construction de dimension Essbase. Pour résoudre ce problème, définissez un critère de rejet pour rejeter l'enregistrement de problème.
Pour définir des critères de rejet :
Comment Essbase traite une règle de chargement
Parfois, vous pouvez identifier les problèmes liés aux builds de dimension en comprenant comment Essbase initialise/valide la règle de chargement et dans quel ordre il effectue les opérations lors du traitement des enregistrements dans les données source.
Essbase effectue les étapes suivantes pour initialiser une règle de chargement :
-
Valide la règle de chargement par rapport à l'outline associée.
-
Valide les dimensions. Ce processus consiste à s'assurer que la méthode de construction et les types de champ sont compatibles et que chaque nom de dimension est unique. Les noms de membre doivent être uniques ou partagés.
-
Ajoute à l'outline les nouvelles dimensions définies dans la règle de chargement.
-
Lit les enregistrements d'en-tête spécifiés dans les données source.
Essbase effectue ensuite les opérations suivantes sur chaque enregistrement des données source lors d'un chargement de données ou d'une construction de dimension :
-
Définit les délimiteurs de fichier pour tous les enregistrements.
-
Applique les opérations terrain aux données dans l'ordre dans lequel elles sont définies dans la règle de chargement.
Les opérations terrain incluent les jointures, les déplacements, les fractionnements et la création de champs à l'aide de texte et de jointures. Pour connaître l'ordre dans lequel les opérations terrain sont définies dans la règle de chargement, voir Effectuer des opérations sur les champs.
-
Essbase applique toutes les propriétés de chaque champ, en appliquant toutes les propriétés au champ1 avant de passer au champ2. Essbase applique les propriétés de champ dans l'ordre suivant :
-
Ignore les champs définis pour être ignorés lors du chargement des données.
-
Ignore les champs définis pour être ignorés lors de la construction de dimension.
-
Indique le champ de données.
-
Applique les noms de champ.
-
Applique les générations de champ.
-
Exécute tous les remplacements dans l'ordre dans lequel ils sont définis dans la règle de chargement.
-
Permet de supprimer les espaces de début et de début.
-
Convertit les espaces en traits de soulignement.
-
Applique les opérations de suffixe et de préfixe.
-
Met à l'échelle les valeurs de données.
-
Convertit les textes en minuscules.
-
Convertit le texte en majuscules.
-
-
Ajoute des membres ou des informations sur les membres, ou les deux, à l'outline.
-
Si vous choisissez d'ignorer les lignes, Essbase ignore le nombre de lignes que vous avez spécifié ; sinon, Essbase passe au premier enregistrement.
-
Essbase effectue des critères de sélection ou de rejet dans l'ordre dans lequel les critères sont définis dans la règle de chargement. Essbase charge ou rejette les enregistrements individuels des données source en fonction des critères spécifiés.
Comment Essbase traite les champs manquants ou non valides lors d'un chargement de données
Si un champ de membre est manquant au cours d'un chargement de données, Essbase utilise sa valeur précédente, mais s'il n'y en a pas, arrête le chargement. Les noms de membre inconnus entraînent le rejet de l'enregistrement. S'il existe un champ de données non valide, le chargement s'arrête, ce qui entraîne un chargement partiel des données.
Pour plus d'informations sur le redémarrage du chargement de données après de tels problèmes, reportez-vous à Chargement à partir des journaux d'erreurs de construction et de chargement de données.
Champs de dimension ou de membre manquants
Si une dimension ou un champ de membre est manquant, Essbase utilise la valeur qu'il a utilisée précédemment pour cette dimension ou ce champ de membre. En l'absence de valeur précédente, Essbase arrête le chargement des données.
Par exemple, lorsque vous chargez le fichier suivant dans la base de données Sample.Basic, Essbase mappe le champ de membre Ohio dans la dimension Market pour tous les enregistrements, y compris les enregistrements dont la bière racine et la couleur de régime sont dans la dimension Product.
Jan Sales Actual Ohio
Cola 25
"Root Beer" 50
"Diet Cola" 19Essbase arrête le chargement des données si aucun enregistrement précédent ne contient de valeur pour le champ de membre manquant. Par exemple, si vous essayez de charger le fichier suivant dans la base de données Sample.Basic, le chargement des données s'arrête car la dimension Market (Ohio, dans l'exemple précédent) n'est pas spécifiée.
Jan Sales Actual
Cola 25
"Root Beer" 50
"Diet Cola" 19Champs de membre inconnus
Si vous effectuez un chargement de données et qu'un nom de membre inconnu est rencontré, l'enregistrement entier est rejeté. S'il existe un enregistrement précédent avec un nom de membre pour le champ de membre manquant, Essbase passe à l'enregistrement suivant. S'il n'existe aucun enregistrement précédent, le chargement des données s'arrête. Par exemple, lorsque vous chargez le fichier suivant dans la base de données Sample Basic, l'enregistrement contenant Ginger Ale est rejeté car il ne s'agit pas d'un nom de membre valide. Les enregistrements contenant Cola, Root Beer et Cream Soda sont chargés. Si Ginger Ale était dans le premier enregistrement, cependant, le chargement des données s'arrêterait.
Jan, Sales, Actual
Ohio Cola 2
"Root Beer" 12
"Ginger Ale" 15
"Cream Soda" 11Remarques :
Si vous créez une dimension, vous pouvez ajouter le nouveau membre à la base de données. Reportez-vous à Exécution de chargements de données ou de constructions de dimensions.
Champs de données non valides
Si vous effectuez un chargement de données, le chargement s'arrête si un champ de données non valide est détecté. Tous les champs lus avant le champ non valide sont chargés dans le cube, ce qui entraîne un chargement partiel des données. Par exemple, dans le fichier suivant, le chargement des données s'arrête lorsqu'il rencontre la valeur de données 15. Les enregistrements Jan et Feb Sales sont chargés, mais pas les enregistrements Mar et Apr Sales.
East Cola Actual
Sales Jan $10
Feb $21
Mar $15-
Apr $16Charger à partir des journaux d'erreurs de construction de dimension et de chargement de données
En cas d'échec de la construction de la dimension Essbase ou du chargement des données, vous pouvez charger uniquement les enregistrements qui ont échoué, en les chargeant à partir du journal des erreurs. Le rechargement des enregistrements ayant échoué est beaucoup plus rapide que le rechargement de chaque enregistrement.
Pour recharger le journal des erreurs, procédez comme suit :