Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Deski
Deski Forum d'entraide Deski (client lourd)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2007, 12h06   #1
Invité de passage
 
Inscription : avril 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 7
Points : 1
Points : 1
Par défaut Decouper champs avec separateur constant

Bonjour, voici mon problème :

J'ai un champ qui est succession de plusieurs valeurs.
Exemple :

BLA BLA HORS DELEGATION BLI BLI HORS DELEGATION BLO BLO HORS DELEG BLU BLU HORS DELEGATION

Je sais que je vais devoir créer un variable par champs.
Mon but, c'est récuperer dans un champ le BLA BLA et un autre BLI BLI etc..

Pour BLA BLA, pas de probleme:
= SousChaîne(<Mon objet> ,1 ,Pos(<mon objet> ,"HORS DELEGATION")-1)

Mais les autres j'arrive pas....
Merci pour votre aide.
houss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h18   #2
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
est ce que vos champs sont de longueur constante ?
est ce que votre séparateur est 'HORS DELEGATION' ou il y a un aute séparateur ?
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h30   #3
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Je pense que le mieux est de faire ça à l'alimentation de la base de donéne de ton infocentre !!

... il y a des fonction oracle ou autre très bien pour récupérer le sposition des occurences de chaine, ce qui peuit aider pour une extraction
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h23   #4
Invité de passage
 
Inscription : avril 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 7
Points : 1
Points : 1
Merci de ta réponse.
Effectivement ce qui precedent "HORS DELEGATION" n'est de pas longeur constante.
XXXXX HORS DELEGATION X HORS DELEGATION XXX HORS DELEGATION
etc...
Sinon c'est impossible de le faire en amont,c'est un fichier texte en entrée.
houss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 16h55   #5
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
en gros il faudrait le traiter avec une macro excel en amont afin de mettre dans une colonne les valeurs souhaitées...
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 19h14   #6
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 182
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 182
Points : 2 719
Points : 2 719
Par défaut Précision

Y at il un nombre fini de champs (BLA BLA,BLI BLI,BLO BLO,BLU BLU) ?
et termine t on par BLUBLUBLU ou par HORS DELEGATION ?
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 11h55   #7
Invité de passage
 
Inscription : avril 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 7
Points : 1
Points : 1
Tu peux avoir des lignes où dans ce champ il n'y aura pas de "XXX HORS DELEGATIONXXX'.
Ca peut aller de 0 à 5 HORS DELEGATIONS.
merci de votre aide.
houss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 18h06   #8
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 182
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 182
Points : 2 719
Points : 2 719
Par défaut Toujours pas assez précis pour pouvoir t'aider

Pourrais tu nous montrer quelques cas de figure REELS ?
Ca aiderait à y voir clair
je pensais que ton hors delegations représentait le séparateur constant et tu me dis qu'il peut ne pas y en avoir ...
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 09h45   #9
Invité de passage
 
Inscription : avril 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 7
Points : 1
Points : 1
OK OK soyons plus clair.
Par exemple:

id|nom|prenom|note

1|paul|eric|remarque1
2|jean|edouard|remarque1 remarque2 HORS DELEGATION remarque3 HORS DELEGATION
3|steeve|renard|remarque1 HORS DELEGATION remarque 4
4|chris|marc|remarque3 HORS DELEGATION remarque 4 HORS DELEGATION remarque5 HORS DELEGATION remarque6 HORS DELEGATION remarque6 HORS DELEGATION

En sortie je voudrais dans mon rapport:

id|nom|prenom|note1|note2|note3|note4|note5|note6

1|paul|eric|remarque1|null|null|null|null|null
2|jean|edouard|remarque1|remarque2|remarque3|null|null|null
3|steeve|renard|remarque1|remarque4|null|null|null|null
4|chris|marc|remarque3|remarque 4|remarque5|remarque6|remarque7

Pour l'id=4, note1=remarque3 car c'est la premiere occurence de HORS DELEGATION.
note1=premiere occurence de HORS DELEGATION ou pas
note2=seconde occurence de HORS DELEGATION ou pas
etc...
est-ce plus clair?
houss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 11h57   #10
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 182
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 182
Points : 2 719
Points : 2 719
Par défaut Merci pour l'exemple ça aide

La solution n'est pas simple car il n'y a pas de fonction équivalente à
INSTR (char1,char2 [,n[,m]]) dans Oracle où notamment
n permet de préciser la position de début de la recherche
m précise quelle occurence de la chaîne recherchée donne sa position

Nous n'avons d'approchant que Pos(dans quoi ?, quoi?)= numéric
en imbriquand souschaîne() et longueur() et pos()
et pour éviter une formule illisible parceque très longue,
j'ai choisi de créer des variables

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<NOTE1> = Si (Pos(<REMARQUES> ," HORS DELEGATION") >0) 
Alors SousChaîne(<REMARQUES> ,1 ,Pos(<REMARQUES> ," HORS DELEGATION") -1) 
Sinon <REMARQUES>
 
<RNIV2> = Droite(<REMARQUES> ,Longueur(<REMARQUES>)-Longueur(<NOTE1>)-17)
 
<NOTE2> = Si (Pos(<RNIV2> ," HORS DELEGATION") >0) 
Alors SousChaîne(<RNIV2> ,1 ,Pos(<REMARQUES> ," HORS DELEGATION") -1) 
Sinon <RNIV2>
 
<RNIV3> =Droite(<REMARQUES> ,Longueur(<REMARQUES>)-Longueur(<NOTE1>)-Longueur(<NOTE2>)-34)
 
<note3> = Si (Pos(<RNIV3> ," HORS DELEGATION") >0) 
Alors SousChaîne(<RNIV3> ,1 ,Pos(<REMARQUES> ," HORS DELEGATION") -1) 
Sinon <RNIV3>
 
ETC... jusqu'à 5 ou 6 ou plus
Il suffit ensuite de placer les variables <NOTEi> dans des colonnes du rapport.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Tableau de départ ...
ID NOM PRENOM REMARQUES
1 paul eric remarque1
2 jean edouard remarque1 HORS DELEGATION remarque2 HORS DELEGATION remarque3 HORS DELEGATION
3 steeve renard remarque1 HORS DELEGATION remarque4
4 chris marc remarque3 HORS DELEGATION remarque4 HORS DELEGATION remarque5 HORS DELEGATION remarque6 HORS DELEGATION remarque7 HORS DELEGATION
 
Tableau résultat ...
ID NOM  PRENOM NOTE1 NOTE2  NOTE3
1 paul eric remarque1  
2 jean edouard remarque1 remarque2 remarque3
3 steeve renard remarque1 remarque4 
4 chris marc remarque3 remarque4 remarque5
Est-ce-que cela t'aide ?
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 10h52   #11
Invité de passage
 
Inscription : avril 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 7
Points : 1
Points : 1
Waip super!
houss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 12h38   #12
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 182
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 182
Points : 2 719
Points : 2 719
Par défaut Résolu ?

Content que tu sois content ...
Code :
1
2
3
 
Peut-être pourrais ON améliorer la méthode en stockant " HORS DELEGATION " dans une variable <SEPARATEUR> et sa taille dans une variable <TAILLESEPARAT> = Longueur(<SEPARATEUR>)
pour les utiliser dans les formules ... ?
Si ton problème est résolu indique le, merci
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h14.


 
 
 
 
Partenaires

Hébergement Web