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

BIRT Discussion :

Aggregation sur des String


Sujet :

BIRT

  1. #1
    Membre du Club
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 76
    Points : 50
    Points
    50
    Par défaut Aggregation sur des String
    Bonjour!

    Juste pour le contexte : j'utilise un crosstab dans lequel j'affiche un champ de base contenant des données de types String. Les données de ce champ sont en String, mais j'ai beaucoup de Strings avec des valeurs numériques du style "2.0", "59.976", etc.
    Aussi, en sélectionnant uniquement les Strings qui contiennent des valeurs numériques, j'arrive à faire des calculs en utilisant les aggrégations de BIRT de type Average (moyenne), Standard Deviation(écart type), etc.

    Mon problème est que j'aimerais ne pas avoir à pré-sélectionner dans ma requête SQL les Strings contenant des valeurs numériques. J'aimerai plutôt pouvoir tout sélectionner, et que BIRT fasse le calcul quand le String est une valeur numérique et qu'il mette " " sinon.

    Actuellement, je récolte des erreurs "Can not convert the value of march 13, 2008 to Double type." dès que je veux faire des aggrégations l'ensemble des Strings (contenant donc aussi des dates par exemple).

    Savez-vous si on peut pas mettre un traitement du genre:
    1) vérifier que le string peut être casté en float avant de tenter l'aggrégation
    2) OU mettre un bloc try catch sur l'aggrégation

    Si oui, où dois-je placer ça dans mon rptdesign?Dans le champ Filter Condition de l'aggregation builder?

    Merci d'avance ,

    Jeff

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Filtre
    Bonjour,

    Pourquoi ne pas corriger ce problème à la source?

    un simple CASE dans le SQL pour ce champ devrait faire l'affaire.

    Sinon , faire une colonne calculée dans BIRT sur le dataset c'est possible. Il y a un onglet fait pour ceci.

  3. #3
    Membre du Club
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Bon, j'ai trouvé un autre moyen

    Comme je veux faire des calculs sur des floats, j'ai juste ajouté en filtre de l'aggrégation : "measure["Valeur"]<=3.4028235E38" (3.4028235E38 étant la valeur maximale que peut prendre un float).

    Comme ça, avant de tenter de faire une moyenne par exemple, il tente de faire une comparaison numérique: s'il peut faire sa comparaison, alors il pourra calculer la moyenne, sinon, c'est qu'on est sur un string non utilisable pour une moyenne, et là il ne fais pas le calcul et ne me lève pas non plus d'exception qui empêche le rapport d'être généré

    C'est pas forcément super propre, et ça ralenti peut-être la génération du rapport de devoir faire une comparaison pour chaque valeur, mais au final c'est exactement le résultat que je voulais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Manipulation sur des string : fichier XML
    Par nanooby dans le forum C#
    Réponses: 9
    Dernier message: 19/01/2015, 13h11
  2. agir sur des string
    Par 20100. dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/02/2008, 15h49
  3. Travail sur des Strings
    Par Pingvince dans le forum Général Python
    Réponses: 16
    Dernier message: 25/12/2007, 05h22
  4. Optimisation mémoire sur des String
    Par CyberChouan dans le forum Langage
    Réponses: 6
    Dernier message: 25/02/2007, 21h25
  5. Realiser des tests exhaustifs sur les String
    Par Sarrus dans le forum Langage
    Réponses: 9
    Dernier message: 07/07/2005, 12h52

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