web-dev-qa-db-fra.com

Valeurs par défaut pour le paramètre ne fonctionnant pas dans SSRS 2008 R2

J'ai un rapport (BIDS SSRS 2008 R2) qui a un paramètre qui permet à l'utilisateur de sélectionner plusieurs valeurs dans une liste (régions de vente, disons).

Je veux, cependant, puisque la liste est longue (une quinzaine de valeurs possibles) avoir sélectionné par défaut les 2 valeurs les plus utilisées.

Je le configure dans la boîte de dialogue Propriétés des paramètres >> Valeur par défaut et lorsque j'exécute le rapport en mode aperçu, cela fonctionne, ce qui signifie que les valeurs par défaut sont vérifiées.

Cependant, lorsque je le déploie et l'exécute avec IE9 (ou Chrome), cela ne fonctionne pas.

Des idées?

17
Amarundo

Je suppose que votre build est mauvais que vous déployez et que vous n'avez pas été mis à jour à partir d'une modification que vous avez effectuée ou qui n'écrase pas une valeur. Vous pouvez faire quelques choses pour vous assurer que les valeurs des paramètres par défaut sont là.

  1. Accédez au rapport publié sur le serveur et cliquez sur la flèche déroulante à droite et choisissez "gérer". Maintenant, choisissez "Paramètres" dans le volet gauche. Dans la colonne "A par défaut" (3e à partir de la gauche sur 2008R2 et plus), elle doit être vérifiée. Ensuite, sous "Valeur par défaut", il s'agit soit d'une entrée explicite spécifique, soit de "Basé sur une requête", ce qui signifie qu'il tire sa valeur d'un ensemble de données ou d'une manière similaire. Si cela est différent de votre valeur attendue et explicite, vous pouvez simplement le modifier ici.

  2. Si elle est basée sur une requête et que vous observez que vos données ne peuvent pas être modifiées ici, j'irais dans BIDS et ouvrirais le projet SSRS sous la solution et choisirais 'Open Folder in Windows Explorer'. Recherchez le fichier DATA de votre rapport et supprimez-le. Notez qu'il ne s'agit PAS du rapport lui-même, mais d'un fichier similaire à celui-ci, comme "report.rdl.data". Ce n'est PAS une étape qui affecte probablement la construction mais simplement l'aperçu, mais nous souhaitons voir l'aperçu après la reconstruction exactement comme il le serait. Accédez au projet de votre rapport et choisissez "Nettoyer" puis "Reconstruire" pour vous assurer que vous supprimez tous les fichiers de données dans le bac en plus de celui que vous avez fait explicitement. Reconstruire va maintenant construire tous les fichiers à partir des instructions. Cliquez maintenant sur l'aperçu de votre rapport, vérifiez qu'il est comme prévu avec les valeurs par défaut. Publiez à nouveau et observez.

  3. Si cela ne changeait toujours pas le rapport, je suppose que les mises à jour ne prennent pas. Je renommerais le rapport sur le serveur comme 'report_old' et réessayerais de le publier.

  4. Si cela ne prenait toujours pas, je vérifierais que l'emplacement de publication que nous voulons est valide et que nous déployons correctement et que tous les paramètres n'obtiennent pas de données à partir d'ensembles de données partagés qui ne sont pas définis sur `` ne pas écraser '' ou des cas Edge étranges résultant de la publication étant arrêté en raison des paramètres de configuration.

SSRS a eu des problèmes étranges pour moi dans le passé avec le problème de mes fichiers sous contrôle de source et ensuite le système ne voulant pas de mises à jour des paramètres moi-même. Généralement, cela est résolu avec une reconstruction, mais parfois cela nécessite la publication d'un nouveau fichier binaire.

25
djangojazz

J'ai vu la même chose cette semaine, et cela s'est avéré parce qu'il y avait des valeurs dans la "liste par défaut" de mon paramètre à valeurs multiples qui n'étaient parfois PAS dans la sélection des données - dans mon cas, les valeurs de la liste par défaut n'étaient pas valides pour certains dates que je pourrais choisir.

Voici ce qui m'a attiré: SSRS autorise les valeurs non valides dans la liste par défaut lors des aperçus de développement, mais ne les autorise pas en production.

Dans mon exemple, le rapport était en cours de développement dans Report Builder. Lorsque j'ai effectué une "exécution" (un aperçu) du rapport dans le Générateur de rapports, les cases à cocher du paramètre de liste ont été sélectionnées pour les valeurs de la liste par défaut, comme prévu. Mais lorsque j'ai enregistré le rapport et que je l'ai exécuté comme le ferait un utilisateur - en exécutant le rapport à partir de la page du navigateur Reporting Services - aucune valeur n'a été sélectionnée - aucune valeur par défaut.

Ensuite, pour résoudre ce problème, j'ai pris tous les critères de sélection jusqu'à ce point et les ai appliqués à la liste par défaut - en m'assurant que les "valeurs par défaut" incluaient uniquement les valeurs dans les "valeurs disponibles" - puis les valeurs par défaut ont été sélectionnées, LES DEUX dans le développement de Report Builder et dans la production SSRS.

EXEMPLE: supposons que ma requête de sélection pour "Valeurs disponibles" était:

SELECT Type
FROM MyTable
WHERE Date <= @BEG_DATE
  AND Date >= @END_DATE

Et supposons que, en utilisant les dates du 1/1/2013 et du 31/12/2013, ce qui précède renvoie "A", "B", "C", "X", "Y", "Z" comme liste de valeurs à sélectionner par l'utilisateur (présentées sous forme de cases à cocher).

Supposons maintenant que ma requête de sélection pour "Valeurs par défaut" était:

SELECT Type
FROM MyTable
WHERE Type IN ('A','B','G','H') 

Le problème dans cet exemple serait que, pour les dates 1/1/2013 et 31/12/2013, les valeurs par défaut "G" et "H" ne sont pas des valeurs valides.

Le correctif dans cet exemple serait d'ajouter à la clause 'WHERE', dans la requête "Default Values". Il devient:

SELECT Type
FROM MyTable
WHERE Type IN ('A','B','G','H') 
  AND Date <= @BEG_DATE
  AND Date >= @END_DATE

Maintenant, lorsque cette requête de valeurs par défaut est exécutée pour les dates 1/1/2013 et 31/12/2013, les valeurs "G" et "H" abandonnent les valeurs par défaut, et ne laissant que "A" et "B" par défaut valeurs. "A" et "B" peuvent tous les deux être sélectionnés, car ils figurent également dans les valeurs disponibles pour le paramètre. Ainsi, la valeur par défaut du paramètre à valeurs multiples fonctionne maintenant, LES DEUX en développement, et après avoir enregistré le rapport (après le déploiement, après la publication) et l'exécuter à partir d'un navigateur.

4
Doug_Ivison

J'ai également rencontré le même problème aujourd'hui. (23rd June 2016)

Raison: Une fois que nous avons téléchargé/déployé le même rapport sur le serveur de rapports, les valeurs par défaut des paramètres et certaines propriétés par défaut sont contrôlées à le niveau du serveur de rapports.

Solution: Si vous redéployez le même rapport avec un utilitaire comme reportsync, vous devez vous assurer que vous commencez par supprimez tous ces rapports/rapport unique pour que les valeurs par défaut prennent effet, puis effectuez l'opération de synchronisation.

Remarque: Avant de procéder, effectuez des sauvegardes de tous les rapports SSRS en utilisant le même utilitaire que vous. utilisation. Parce que parfois votre opération peut échouer en raison d'une erreur de temporisation ou en raison de certains problèmes de serveur.

Solution alternative: Si vous avez très peu de rapports et que vous ne souhaitez pas supprimer ces rapports, modifiez manuellement les valeurs par défaut en allant dans l'onglet Paramètres et en cochant Has Default. C'est ça.

J'espère que cela aidera tous les développeurs SSRS.

2
pedram

J'ai eu exactement le même problème aujourd'hui. J'ai eu deux rapports sur SSRS 2008 R2 (sharepoint intégré) et lorsque j'ai défini un paramètre pour avoir une valeur par défaut, le changement ne prendrait pas quoi que j'aie essayé. Cela fonctionnait bien dans BIDS (VS 2012). J'ai même mis à jour une étiquette pour vérifier que mes modifications étaient téléchargées sur le serveur. J'ai finalement dû supprimer les rapports du serveur et les télécharger à nouveau avant que la valeur par défaut ne fonctionne.

2
RobbZ

J'ai eu un problème similaire, sauf que les valeurs par défaut n'étaient même pas renseignées en mode aperçu.

Le problème était que un des codes chargés à partir de mes valeurs par défaut la requête n'était pas présente dans la requête Valeurs disponibles

Par exemple, le code 2000 était dans la requête Valeurs par défaut mais pas dans la Valeurs disponibles requete

Résultat: aucune des valeurs par défaut n'est sélectionnée

Une fois que j'ai corrigé ma requête de population, toutes mes valeurs par défaut ont été sélectionnées.

Allez comprendre.

2
Nick.McDermaid