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 08/03/2007, 10h15   #1
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 34
Points : 33
Points : 33
Par défaut 2 fournisseurs ou 1 fournisseur + autre chose ?

Bonjour

Je travaille sur 2 fournisseurs de données : le premier contient une liste de personnes dans un fichier Excel (environ 1000 identifiants) le deuxième me permet d'aller chercher dans une base des informations complémentaires avec les identifiants du fichier contenu dans Excel.

Les 2 fournisseurs sont liés par un identifiant.

Si dans le ficheir Excel j'ai 1000 identifiants, dans la base accédée par le deuxième fournisseur j'ai 50 000 personnes.

Quand je lance ma requête, je récupère bine mes informations complémentaires provenant de la base.

Oui mais (il y a un mais)

BO remonte les 1000 identifiants d'excel et les 50 000 lignes de la base. Tout cela au final fait une grosse requête, un gros fichier à stocker, des temps d'exécution longs, des temps de réponse pas bons et quand je veux travailler sur des filtres ou des graphiques par exempe àa moline très fort.

Je ne peux pas créer une invite ou je devrais saisir 1000 identifiants ce serait trop long.

En lisant les différents sujets du forum, j'ai vu plusieurs fois où on faisait allusion à VB ou à des filtres "programmés".

La question que je me pose :

Est il possible de créer un seul fournisseur de données en accès sur la base et créer un invite miracle qui irait lire le contenu du ficheir Excel pour extraire de la base uniquement les lignes idientifiées par les identifiants du fichier Excel ?

Suis je clair ?

merci pour la réponse et bonne journée
jean marie
pendulaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2007, 15h28   #2
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
pas facile...

Avec un macro ça doit être faisable mais très difficilement !

Je pense qu'il vaut mieux trouver un moyen de placer le contenu de ton fichier Excel dans une table de ta base de donnée et de l'ajouter à ton univers, afin de faire une requete classique !!!

bon courage
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 17h59   #3
Invité régulier
 
Inscription : février 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 28
Points : 9
Points : 9
Il ne faut pas lier les 2 requètes.

Retourne dans l'éditeur de ta 2nd requète (celle tapant dans ta base de données). Pose une condition sur l'objet commun aux 2 requètes du genre :

Identifiant Dans liste sélectionner les résultats de la requète et sélectionne ton 1er fournisseur de données.

Normalement, ça marche.
dsoexo7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 11h02   #4
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 37
Points : 27
Points : 27
Bonjour,

Effectivement, cela fonctionne, mais sur qq lignes me sembles t'il.

Il semble qu'il soit influencé par le nombre de colonnes de la 1ère requête ainsi que par le nombre le valeurs.

Lors de mes essais, BO plantait Lorsque la 1ere requête comportait env 150 lignes et 5 ou 6 colonnes et env 250 à 300 lignes sur 1 seule colonne.

A essayer dans tous les cas. cela dépend peut être de la capacité mémoire du pc (je n'ai pas eu l'occasion de faire des tests sur plusieurs PC).

A noter que la doc BO préconise de lancer 2 requêtes différentes puis de les lier ensuite.
Ashaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 15h13   #5
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
Citation:
Identifiant Dans liste sélectionner les résultats de la requète et sélectionne ton 1er fournisseur de données
Cette méthode fonctionne bien, il y a beacoup de monde dans mon entreprise qui l'utilisent mais ce n'est valable que pour une liste de moins de 1000 itérations.
c'est une limite fixe dans la base de données Oracle (au moins jusqu' a la 9.i )

L'autre solution qui est utilisée c'est de faire les 2 requetes à part et de filtrer ensuite dans le document.
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 15h08   #6
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 34
Points : 33
Points : 33
Par défaut 2 fournisseurs ou 1 fournisseur + autre chose ?

Merci pour toutes vos réponses

DBD ORA 001795 le nombre maximum d'expression autorisé dans une liste est 1000

En fait je suis chocolat car ma liste dans mon tableau EXCEL fait un peu plus de 3000 ocurrences.

J'ai lié les 2 requêtes. Mais quand BO ne trouve pas l'équivalent dans le fichier excel il remonte l'info comme si la valeur était présente.

J'ai contourné la difficulté en identifiant les occurrences qui ne devaient pas être matchées (environ 150 occurrences) et après dans un filtre dynamique j'ai exclu cess occurrences maius cela me fait 150 tests dans le filtre dynamique.

Ca mouline pendant un certain temps (10 minutes environ) mais j'ai mon résultat.

Ce n'est pas très performant.

Bon week end
jean marie
pendulaire 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 08h55.


 
 
 
 
Partenaires

Hébergement Web