IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Deski Discussion :

Utiliser un fichier externe dans une condition


Sujet :

Deski

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Utiliser un fichier externe dans une condition
    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!

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    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

  3. #3
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    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 ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    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.

  5. #5
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    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.

Discussions similaires

  1. Utiliser une variable "externe" dans une condition xsl
    Par JulienNvr dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 06/01/2014, 15h45
  2. [MediaWiki] Utiliser des variables externes dans une page wiki
    Par mayok dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 16/08/2011, 05h20
  3. Accéder à des fichiers externes dans une appli J2EE
    Par endbegins dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 31/03/2011, 14h01
  4. Comment faire pour utiliser plusieurs fonctions logiques dans une condition ?
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 04/11/2010, 11h37
  5. Utilisation des fichiers CSS dans une application Struts
    Par menzlitsh dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/09/2006, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo