Extraire des éléments depuis une chaîne de caractère dans Web Intelligence

Dans ce tutoriel vous apprendrez comment extraire une sous-chaîne depuis une chaîne de caractère dans Web Intelligence.

Prérequis :

  • Versions SAP BI 4.2
  • Savoir exécuter des requête sous SAP Web Intelligence et utiliser des filtres de requête.
  • Avoir lu des tutoriels de base sur le traitement des chaîne de caractères.
  • Savoir créer des variables.

Contexte :

Vous voulez récupérer le CUID des Univers des documents Web Intelligence de votre plateforme SAP BO à partir de la chaîne des propriétés de ces documents.

Afin d’obtenir cette chaîne de propriétés vous devez utiliser un Univers fondé sur la base de données CMS de votre plateforme SAP BusinessObjects.

Cliquez-déposez les dimensions d’identifiant, de nom et propriétés (1) d’objet de référentiel SAP BO puis ajoutez un filtre afin de ne conserver que les documents Web Intelligence (2) et exécutez votre requête (3) :

Solution :

Après exécution de la requête vous obtenez le tableau suivant avec en troisième colonne une chaîne de caractère décrivant les propriétés de chacun des documents Web Intelligence de votre référentiel :

La syntaxe de ces propriétés suit le standard XML, il est donc divisé en balises avec un début identifié par « < » et une fin identifiée par « /> » :

Vous souhaitez dans un premier temps extraire la sous chaîne ci – dessous décrivant les propriétés de la première requête de votre document SAP Web Intelligence :

Créez une variable « Requête WebI » donnant la position de cette sous chaîne au sein de la chaîne des propriétés. Vous utilisez pour celà l’opérateur de chaîne « Pos » avec pour argument la chaîne de départ puis la sous – chaîne dont la position est recherchée (« <WEBI_DP ») :

Testez l’insertion de cette variable en tant que colonne de votre tableau :

Grâce à la position de début de votre sous – chaîne « <WEBI_DP » récupérée par la fonction Pos() vous allez pouvoir extraire l’ensemble de votre chaîne à partir de l’emplacement de « <WEBI_DP » grâce à la fonction SousChaîne(). Cette fonction prend comme paramètre la chaîne de départ, la position de début d’extraction puis la longueur de la chaîne à extraire :

Au sein du résultat obtenu vous voulez extraire l’encadré en vert ci – dessous. Il représente la première des requêtes du document SAP Web Intelligence dont vous avez extrait la chaîne de propriété :

Afin d’éviter trop de complexité vous allez créer une deuxième variable « Requête WebI 2 ». Grâce à la fonction Gauche() Elle prendra pour valeur la partie gauche de la chaîne « Requête WebI » en terminant à la position de la fin de balise « > » :

Vous obtenez ainsi seulement la chaîne décrivant la première requête de votre document SAP Web Intelligence :

En exploitant le fait que la paramètre UnivCUID a toujours la même longueur il vous suffit alors d’appliquer une nouvelle fois la fonction SousChaîne() afin d’extraire uniquement le CUID de l’Univers utilisé par la première requête :

En appliquant successivement ces opérations à la chaîne des propriétés de votre document en la raccourcissant à chaque étape d’une requête vous pouvez ainsi extraire les CUID de tous les Univers utilisés par votre document SAP Web Intelligence. Vous pourriez aussi extraire les noms de tous les Univers utilisés par ce document mais celà nécessiterait une étape supplémentaire car la longueur de ce nom est variable.

Vous savez désormais comment extraire une sous – chaîne de caractères délimitée par des caractères donnés depuis une chaîne de caractère dans SAP Web Intelligence et comment appliquer celà à un cas concret d’analyse des Univers sources de vos documents SAP Web Intelligence.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *