|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 4 ![]() |
J'utilise Business Objects (5.1 ou 6.0) pour requêter dans des gisements de données.
Il m'arrive souvent de disposer d'une liste de valeurs (numéros de client ou références) pour lesquelles j'ai besoin d'aller chercher des détails dans mes bases. Avec BO, si je n'ai que quelques valeurs dans ma liste, je la copie colle dans une condition : numéro de client dans liste "CLI001;CLI543;CLI865;CLI665" Par contre, si j'ai 85000 valeurs dans ma liste, comment faire? Est-il possible de puiser les données de ma liste dans un fichier externe? Autre question similaire : je peux utiliser Web Intelligence pour requêter dans mes bases. J'ai le sentiment qu'il pourrait y avoir davantage de souplesse pour automatiser la construction d'une requête à partir d'un fichier externe. Partant de mon fichier de 85000 valeurs, ça me construirait automatiquement la condition : numéro de client dans liste "CLI00001;CLI00002;CLI00003;...;CLI00249;CLI00250" ou numéro de client dans liste "CLI00251;CLI00252;CLI00253;...;CLI00499;CLI00500" ou numéro de client dans liste "CLI00501;CLI00502;CLI00503;...;CLI00749;CLI00750" ou etc... Je n'ai bien entendu pas accès au mode "SQL" de mon BO, dommage... Merci d'avance s'il existe une solution! |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Tu peux utiliser ton fichier comme une 2e source de données et laisser BO faire ce qu'on appelle une lookup table.
Regarde ici pour un fichier excel (mais tu peux utiliser ce que tu veux, par exemple un csv) : http://www.developpez.net/forums/sho...d.php?t=206052
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Puisque ça ne marche pas, explorons d'autres pistes.
Si j'ai bien compris ton problème, ta solution serait de mettre cette liste de valeur dans la base de données qui contient tes données. Quelle est l'architecture de la base dans laquelle tu vient prendre tes données principales ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 4 ![]() |
Hélas non, je ne peux pas (du moins je ne pense pas pouvoir) rajouter des données dans cette base d'entreprise (si tout le monde le faisait, ce serait vite le boxon
Par contre, ce que je pourrais faire, c'est faire une requête englobante, une requête qui ne renvoie pas toute la base (y'a du monde...), mais qui en renvoie un sous ensemble contenant les 85000 valeurs (dans mon exemple) que je n'aurais qu'à mettre dans la table que je lie... Une autre solution serait que je me fasse un automate Windows (je m'en suis déjà fait un dans un tout autre domaine) avec un outil comme Wintask. Le script prendrait ma liste par paquets de 250 et construirait la requête que j'ai mise dans mon exemple par émulation de clics de souris/manipulation d'objets windows. |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Le gros problème que je vois c'est surtout que 85000 valeurs en condition ça va te faire mal en terme de délais.
Si tu veux VRAIMENT essayer avec ces 85000 valeurs en condition, tu peux soit modifier le code SQL de BO à la main soit créer un objet dans l'univers qui retourne 1 mais qui ajoute à la clause WHERE un filtre sur tes 85000 valeurs. Maintenant je ne connais pas la limite en terme de nombre de caractères d'un objet BO (ni d'une requête). La meilleure solution reste quand même pour moi le fait de ramener un sous-ensemble de tes données globales qui comprend les 85000 valeurs, puis de filtrer dans BO. Pour te rassurer, on a souvent ce genre de problème avec les outils de reporting, mais on les règle souvent avec un Datawarehouse. Tiens d'ailleurs pendant que j'y pense : pourquoi ne pas ramener tes données sous Access (s'il n'y en a pas trop),créer une table dans Access qui contient tes 85000 lignes puis faire ton rapport BO sur Access et plus sur ta base de production de société ? C'est le principe d'un datawarehouse, donc je pense que ça peut faire l'affaire.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com