Supprimer des membres en masse dans OneStream XF
Lors d'un de mes projets précédents, nous devions supprimer environ 200 comptes qui étaient répartis sur une grande dimension Compte. Ce blog explique comment nous l'avons résolu.
Une approche aurait consisté à supprimer chaque compte une fois. De toute évidence, ce n'était pas attrayant car cela prend du temps et peut être sujet à des erreurs. Une autre approche est discutée dans l'article de la base de connaissances OneStream KB0010541 qui fournit une méthode pour créer un fichier XML pour un ou plusieurs membres. Cependant, la méthode KB nécessite de taper un nom de membre un par un.
Notre approche consistait à créer un fichier XML pour supprimer en masse les membres. Cette méthode prendra un fichier d'entrée et générera la syntaxe XML nécessaire. Tout ce dont vous avez besoin est d'accéder à Microsoft SQL Server avec les autorisations appropriées. Cette solution est applicable pour d'autres dimensions UD1-UD8 et peut être réutilisée chaque fois que le besoin se présente si elle est correctement configurée. L'approche suppose que:
- Tous les membres sont des membres de base
- Vous avez déjà identifié les membres à supprimer
- Vous disposez d'une liste de ces membres dans un fichier texte ou un format pouvant être importé
- Les membres identifiés ne sont pas membres d'un modèle de journal
Si vous n'avez pas de liste, vous pouvez utiliser une vue de cube, une vue rapide ou une autre méthode pour générer la liste. L'étape suivante consistera à importer la liste des comptes dans une base de données Microsoft SQL Server à l'aide de l'importation de fichier plat standard.
Pour référence, un échantillon des données importées est affiché.
[19659002] Une fois le fichier importé avec succès, l'étape suivante consistera à créer une instruction SQL qui générera un fichier XML au format correct. Le format est indiqué ci-dessous.
Notez que chaque élément
La requête suivante crée le fichier XML. Il comprend trois parties: une clause SELECT une clause FROM et une clause FOR XML PATH .
La clause SELECT "SELECT [MemberName] AS [@name]'Delete' AS [@action]" ordonnera les résultats en tant qu'attributs de l'élément
La clause FROM est tout simplement la même instruction SQL que celle qui renvoie notre liste de comptes.
FOR XML PATH La clause spécifie le format de la sortie. Il crée un élément racine appelé
Le reste les éléments XML requis sont affichés dans l'image suivante sur les lignes 2-5 et 10-13 .
Remarque: l'élément
Avant d'importer notre fichier, nous vérifions que notre L'application OneStream a une dimension de compte avec 10 367 membres de base. Nous allons en supprimer 190 avec notre fichier.
Maintenant, connectez-vous à l'application OneStream. Sélectionnez et développez Application> Outils> Charger / Extraire .
Accédez au fichier XML créé précédemment et sélectionnez-le. Une fois cela fait, sélectionnez l'icône Charger . Le chargement se terminera sans erreur, ce qui est confirmé par la deuxième image après ce paragraphe.
Pour confirmer que le téléchargement a supprimé des membres, actualisez l'application OneStream, puis accédez à la dimension Compte et à la vue Grille. Le nombre de membres de base est passé de 10 367 à 10 177, ce qui confirme que 190 membres ont été supprimés.
J'espère que cette solution sera utile la prochaine fois que vous devrez supprimer de nombreux membres. Si vous avez des questions, n'hésitez pas à publier un commentaire sur le blog ou à m'envoyer un e-mail à terry.ledet@perficient.com.
Source link