Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
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 15/03/2011, 14h14   #1
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Par défaut Utiliser valeurs d'un DataSet dans une fonction

Bonjour à tous et à toutes

Je possède un DataSet me renvoyant un champ date et un champ ferie (contient une chaine si le jour et ferie, rien sinon) entre autre.
Ce qui donne par exemple:
2011-05-01 dsfvdsvdsbvdf
2011-05-02 NULL
2011-05-03 NULL
...

je possède un datacube qui ne contient pas le champ ferie. Le groupe du dessus contient les dates.

Cependant, j'aimerai utiliser ce champ pour grisé ma case lorsque cette date est férié.

Donc j'aimerai créer une fonction qui prendrait en parametre une date (date de la case de ma crosstab) et qui me renvoie true or false.
Ce qui veut dire que dans le corps de ma fonction, je dois utiliser le résultat du DataSet afin de comparer la date en paramètre avec les date du DataSet et de récupérer le champ ferie pour savoir s'il est vide ou non


J'espere que j'ai été clair :S

Quelqu'un serait faire ce type de fonction???

Merci d'avance
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 15h13   #2
Membre confirmé
 
Nicolas Vives
Inscription : avril 2010
Messages : 178
Détails du profil
Informations personnelles :
Nom : Nicolas Vives

Informations forums :
Inscription : avril 2010
Messages : 178
Points : 212
Points : 212
Bonjour,

Je réponds un peu vite fait, je serai sans doute hors-sujet mais tant pis.
Si j'ai bien compris, ton besoin est de griser une case d'un cube, en fonction d'une donnée d'un dataset, correspondant à une date utilisée dans un groupe du cube.

Tu as dis que ton cube ne contenait pas le champ "férié". Pourquoi ? Il me semble que ce serait la solution à ton problème : tu n'aurais qu'à créer une agrégation de type COUNT(data["férié"]), et mettre une mise en forme conditionnelle (highlight) sur ta case, en fonction de la valeur de ce compteur.

En tout cas je ne comprends pas ton histoire de fonction. D'après moi ça revient plus ou moins à créer une colonne calculée, contenant une valeur booléenne valant "true" si ton champ "férié" est non nul, ce qui revient à ce que j'ai écrit au dessus.

Si ma proposition ne te convient pas, pourquoi tiens-tu à faire une fonction (javascript ?) ?
nicolas.1.vives est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 15h41   #3
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Ta méthode me convient, c'est ce que j'essaye de faire mais je ne comprend pas pourquoi il ne veut jamais me le prendre en compte.

Je résume ta méthode en la combiannat avec la mienne:

Ajouter dans mon datacube le champ ferie en tant que sumary field:
* Function: COUNT
* Data Type: Integer
* Expression: dataSetRow["ferie"]

Ajouter un Data Binding nomme "ferie" sur le data cube renvoyant un boolean et ayant comme expression:
Code :
(measure["ferie"]) ? true : false
Sur la case a griser creer un highlight
* data["ferie"] equal to true
* Appliquer un style


Mon soucis c'est que ce n'est pas un int mais un string donc mon erreur est:
Citation:
Can not convert the value of c1679b47-74ad-3704-2d97-be872c86cab2 to Integer type
Ceci représente ma premiere étape lorsque je fais un COUNT je suppose!!!
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 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 21h25.


 
 
 
 
Partenaires

Hébergement Web