2010-04-15 11 views
0

j'ai pu obtenir ce travail est SSRS 2008, mais ne le fait que mon entreprise ne dispose que 2005 serveurs que je dois déclasser le rapport à 2005.Paramètres de réglage d'un autre paramètre dans SSRS

L'idée est un nom de personne donnée, il y a deux domaines clés EntityType et entityID

J'ai donc un paramètre à partir d'un ensemble de données où l'étiquette est le nom et la valeur est EntityType_EntityId

utiliser la fonction split pour prendre la gauche et à droite côtés de

En 2008, je régler les paramètres de la requête de l'ensemble de données à la fonction split et il fonctionne

En 2005, je mis la valeur par défaut de chaque paramètre Rapport

Maintenant, quand je lance le rapport et mettre des zones de texte affichant la valeur des paramètres, les valeurs sont affichées correctement mais la requête ne s'exécute pas. Je suppose que cela est une question de cycle de vie étant

Obtenir Nom du paramètre
Run Report
ALORS Définir les paramètres = split du nom

Mais le problème avec qui est la deuxième fois que je lance le rapport que je devrais obtenir résultat et je ne le fais pas. Est-ce que quelqu'un sait ce que je fais mal.

Je suppose que je peux transmettre la chaîne délimitée par le trait de soulignement à la procédure stockée et l'analyser ici, mais ma question est la suivante: cela peut-il être fait dans le rapport? La raison étant d'autres appelants passera dans les paramètres comme deux valeurs séparées.

Répondre

0

je l'ai déjà trouvé une réponse appropriée

Définir la source de requête sous forme de texte

DECLARE @EntityType INT 
DECLARE @EntityId INT 

IF @Name = '0_0' 
BEGIN 
     SET @EntityType = NULL 
     SET @EntityId = NULL 
END 
ELSE 
BEGIN 
    SET @EntityType = LEFT(@Name,CHARINDEX('_',@Name)-1) 
    SET @EntityId = RIGHT(@Name,LEN(@Name) - CHARINDEX('_',@Name)) 
END 


EXEC proc @EntityType, @EntityId 
+2

dois-je laisser la question de référence pour quelqu'un d'autre. – Mike

+0

juste marquer comme réponse - il sera là pour vous la prochaine fois que vous en avez besoin, même si personne d'autre ne le fait :) –