Identification et suppression des membres orphelins dans OneStream via de simples hacks Excel / Blogs / Perficient

Arrière-plan
Les membres orphelins de OneStream sont les membres sans parent. Pour cette raison, ils sont un peu difficiles à localiser à l’aide de la fonction Hiérarchie de recherche, car techniquement, ils ne se situent nulle part dans la hiérarchie. Ils ne sont même pas capturés en vue grille. Parfois, une organisation peut souhaiter les supprimer car ils ne sont plus nécessaires ou peut-être les ré-aligner à un emplacement approprié dans la hiérarchie. Ce blog se concentre sur des techniques simples basées sur Excel et Notepad++, pour remplir la liste des membres orphelins et les supprimer (si nécessaire).
Outils nécessaires
La technique partagée dans le blog nécessite 2 logiciels :
- Microsoft Excel
- Bloc-notes++
Notepad++ est un logiciel open source disponible gratuitement. La version Microsoft 365 d’Excel est requise car cette technique utilise une fonction nommée TEXTESPLIT( ) qui a été déployé pour la version 365 d’Excel. Alternativement, Excel pour le Web peut également être utilisé, qui est toujours mis à jour et disponible via l’inscription gratuite au compte Microsoft.
Vitrine d’études de cas
Vous trouverez ci-dessous la capture d’écran de la hiérarchie UD1 pour le produit en termes de marque.
Plus de 100 membres sont devenus des nœuds orphelins, car leur relation a été supprimée pour les garer à l’extérieur.
Ces membres ont été créés pour incorporer l’intégralité du catalogue mais n’ont jamais été achetés/vendus. L’organisation souhaite les supprimer définitivement afin de conserver des données légères et de meilleures performances. Supprimer plus de 100 membres un par un serait une tâche herculéenne, qui ferait perdre des heures d’efforts. Voyons quelques astuces simples pour remplir la liste des membres orphelins. Une fois la liste remplie, ces membres peuvent être supprimés ou réalignés comme vous le souhaitez, à l’aide de la fonction Charger/Extraire.
Liste de la population des membres orphelins
Voici les étapes pour dériver et remplir la liste des membres orphelins :
- Aller à Application > Charger/Extraire > Extraire. Dans la liste déroulante, sélectionnez Métadonnées. Dans la hiérarchie des métadonnées, sélectionnez la dimension souhaitée. Cliquez sur le bouton Extraire qui ouvrira la boîte de dialogue Enregistrer sous pour enregistrer le fichier XML.
- Ouvrez le fichier à l’aide de Notepad++ (cliquez avec le bouton droit sur le fichier XML et choisissez Modifier avec Notepad++).
- Ensuite, nous sélectionnerons la valeur du champ de nom de tous les membres XML présents dans la dimension (qui inclut également les orphelins). Dans Notepad++, allez dans le menu Rechercher > Marquer. En mode recherche, sélectionnez Expression régulière. Dans la zone de texte Rechercher, écrivez le modèle nom du membre = »[\w\s_-]+” puis cliquez sur Marquer tout bouton. Cela marquera le texte de la balise membre avec la valeur dans l’attribut XML name.
(le texte correspondant au motif est surligné/marqué avec une couleur de fond rouge)
Référence du modèle : \w = n’importe quel texte/nombre \s = n’importe quel espace _ = n’importe quel trait de soulignement – = n’importe quel trait d’union + = une ou plusieurs instances de ces caractères - Cliquez sur Copier le texte marqué bouton, pour copier toutes les instances textuelles correspondant à un modèle.
- Ouvrez Microsoft Excel, créez 2 feuilles de calcul nommées membre et relation. Collez le texte copié dans la feuille de calcul membre (comme démontré ci-dessous dans la cellule A2)
- Dans la cellule B2, écrivez l’expression de la formule suivante =TEXTESPLIT(A2, « » » ») [refer below screenshot – formula], qui divisera le texte en fonction de guillemets doubles. La division s’étendra sur 3 cellules puisque la valeur du nom du membre est entourée de deux guillemets doubles. Copiez-collez cette expression de formule pour toutes les cellules (utilisez la poignée de remplissage). Cela produira une liste de tous les membres (y compris les orphelins) dans la colonne C.
- Revenez à Notepad++ et appuyez sur Effacer toutes les marques, bouton. Placez le curseur sur la première ligne.
- Cette fois, appelez à nouveau la boîte de dialogue Marquer comme illustré à l’étape 3 et effectuez les mêmes actions, avec l’expression suivante. parent = »[\w\s_-]+ »enfant= »[\w\s_-]+” qui sélectionnera le texte parent/enfant dans la partie relationnelle du XML (reportez-vous à la capture d’écran ci-dessous obtenue pour vérifier l’exactitude de la sélection en faisant défiler jusqu’à la fin du document)
- Répétez les étapes 4 à 6, cette fois en copiant-collant le texte dans la feuille de calcul relation comme démontré dans la capture d’écran ci-dessous.
- Colonne E contient un membre enfant et C contient le nom du parent, représentant la hiérarchie. Techniquement, chaque membre (à l’exclusion de la racine) de la feuille de calcul membre, doit être renseigné dans cette liste dans la colonne E. Le membre mappé dans une hiérarchie alternative sera renseigné plusieurs fois dans cette liste. Mais un membre orphelin ne trouverait jamais de place ici car il manque totalement de relation. Nous allons donc configurer une RECHERCHEV pour éliminer de telles instances, comme illustré ci-dessous dans la cellule F2 avec l’expression de formule comme =RECHERCHEV(C2,relation!E:E,1,0) et copiez-collez-le jusqu’à la dernière ligne.
- Appliquer le filtre via le menu Données > Filtreret vérifiez #N / A in filtre de valeurs (c’est-à-dire valeurs introuvables dans la relation), qui désigne les membres orphelins.
- Vous trouverez ci-dessous le résultat des membres orphelins (voir capture d’écran ci-dessous)
Suppression de membres
Les membres orphelins identifiés dans les étapes ci-dessus peuvent être supprimés (si nécessaire) par un simple hack basé sur Excel. Voici les étapes :
- Étendez les colonnes suivantes avec des formules comme indiqué dans la capture d’écran ci-dessous, pour générer du XML de suppression de membre. Copiez-collez la formule jusqu’à la dernière ligne. Saisissez le texte de la formule ci-dessous pour éviter les erreurs de frappe.
=”« - Créez un nouveau fichier dans Notepad++, copiez-collez l’en-tête/pied de page XML à partir du fichier XML exporté, comme indiqué dans la capture d’écran ci-dessous, qui sert de base pour les lignes de suppression.
- Copiez-collez les lignes XML de suppression générées via la formule Excel pour tous les membres orphelins de ce fichier XML entre les balises XML
, comme indiqué dans l’exemple de capture d’écran ci-dessous pour 4 à 5 membres. - Enregistrez le fichier ci-dessus dans Notepad++
- Importez ce fichier dans OneStream via le menu Charger/Extraire, ce qui supprimerait ces membres orphelins.
Précautions
- Sauvegardez toujours l’intégralité de la hiérarchie Dimension via le menu Charger/Extraire en l’exportant vers un fichier XML. Ce XML de sauvegarde peut être utilisé pour annuler la suppression, à condition qu’aucune autre modification n’ait été apportée à la hiérarchie après la suppression.
- De nombreux stockages de sauvegarde en ligne sont disponibles à bas prix. Il est possible de télécharger en toute sécurité plusieurs versions du fichier XML de sauvegarde de la hiérarchie à chaque fois que de telles modifications sont apportées, ce qui pourrait venir à la rescousse à l’avenir.
- Il est sage de revérifier la liste des membres en cours de suppression. OneStream ne fournit pas de bouton Annuler comme Excel/Word.
- N’oubliez pas d’abord les éléments de test dans l’application de développement, puis de déployer en production.
Notes complémentaires
- Cette approche suppose que le nom du membre est composé de lettres/chiffres/traits de soulignement/traits d’union. Tout autre caractère utilisé dans le nom devra être inclus dans le modèle de recherche d’expression régulière.
- La suppression d’un membre orphelin échouerait si des données correspondantes étaient chargées. Veuillez vous en assurer avant d’exécuter le XML de suppression.
- L’astuce de suppression est générique et fonctionne pour n’importe quel membre (qu’il soit orphelin ou non)
Source link