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/09/2011, 16h34   #1
Futur Membre du Club
 
Inscription : avril 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 48
Points : 15
Points : 15
Par défaut Multiple values et procédure stockée

Bonjour,

Pour exécuter un rapport, j'ai besoin de sélectionner plusieurs paramètres dans une listbox. Jusque là tout va bien, j'arrive à consulter mon paramètre dans le rapport mais il faudrait que je puisse le passer à une procédure stockée...

Dans mon dataSet appelant ma procédure, lorsque j'essaye de linker un paramètre à un reportParameter, si j'ai coché "Allow multiple values", celui-ci n'apparait plus... Est-ce normal?

Dans un deuxième temps, s'il est possible de passer ce paramètre, quel type de paramètre dois-je déclarer dans ma procédure? (SQL Server)

Cordialement,

Fab
Fabii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 09h41   #2
Futur Membre du Club
 
Inscription : avril 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 48
Points : 15
Points : 15
Bonjour,

J'ai retenté avec la version 3.7.0 de BIRT aujourd'hui (je devais utiliser la 2.5.2 à la base).
Cette fois-ci, il m'autorise à linker les deux paramètres mais il me signale qu'il n'utilisera que la première valeur de la liste sélectionnée... Je comprends pas bien l'utilité mais, en tout cas il n'a pas le comportement que j'espérais!

Quelqu'un peut-il, s'il vous plait, me dire sous quelle forme je peux envoyer une liste de paramètre à ma procédure?

Cordialement,

Fab
Fabii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 13h40   #3
Membre confirmé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2009
Messages : 186
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2009
Messages : 186
Points : 289
Points : 289
Salut,

Les paramétres multi-valués sont transmis sous forme de tableaux. Si il te signale qu'il n'utilisera que la première valeur de la liste sélectionnée c'est que tu essaies d'affecter ce tableau à un parametre de type "primitif" (string, integer...).
2 solutions:
- Ou bien la procédure stockée en question sait gérer un tableau de valeurs, ou encore peut être adaptée pour le faire
- Ou bien il faut écrire une fonction javascript transformant ce tableau avant l'envoi à la procédure, dans le format souhaité par la-dite procédure.

A titre d'exemple, voici une petite fonction qui transforme un paramètre Birt multi-value de type String en une chaine utilisable dans un "in" SQL :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function IN_string(paramMV){
//paramMV must be a Multi Value String parameter.
//returns a "in" string SQL compliant : "value1","value2","value3"
  var list = "";
  for (var i = 0; i < paramMV.length ;i++)
    {
	list += "\"" + paramMV[i] + "\"";
	if (i != paramMV.length - 1){
            list += ",";
	}
    }
  return list;
}
A+
donino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/09/2011, 13h43   #4
Futur Membre du Club
 
Inscription : avril 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 48
Points : 15
Points : 15
Merci de ta réponse, je commençais à désespérer après toutes mes recherches infructueuses!

La deuxième solution me conviendrait bien plus. Mais peux-tu me dire à quel endroit je dois la définir?

EDIT: Finalement, j'ai creusé un peu tout seul! C'était la première fois que j'utilisais ce type de fonction, et ça marche impeccable!

Un grand merci pour ton aide!!

Cordialement,

Fab
Fabii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 00h03   #5
Membre confirmé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2009
Messages : 186
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2009
Messages : 186
Points : 289
Points : 289
Content d'avoir pu t'aider
A+
donino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h39.


 
 
 
 
Partenaires

Hébergement Web