2010-11-16 11 views
5

J'ai la suivante clause where d'une chaîne de requête SQL dans le SSRS Dataset:Comment incorporer l'utilisation des paramètres du jeu de données SSRS avec la clause d'échappement d'horodatage?

WHERE "Input_date" >={ts '2009-01-01'} 
AND "Input_date" < {ts '2009-12-31'} 

Et maintenant, je voudrais utiliser le paramètre de rapport pour envelopper les dates dans l'instruction SQL, à savoir @ indate1 et @ indate2.

J'ai essayé, mais erreur:

WHERE "Input_date" >={ts @indate1} 
AND "Input_date" < {ts @indate2} 

S'il vous plaît veuillez en informer. Merci.

Répondre

6

Qu'avez-vous fait pour ajouter ces paramètres? Je suppose que vous avez modifié la requête de jeu de données avec les modifications que vous avez indiquées dans votre question. Il y a deux autres étapes que vous devez effectuer pour faire ce travail:

  1. défini un nouveau paramètre dans le dossier des paramètres. Cliquez avec le bouton droit sur le dossier des paramètres et choisissez Ajouter un paramètre. Spécifiez les valeurs que vous souhaitez que l'utilisateur puisse sélectionner. Répétez pour le deuxième paramètre.
  2. Ajoutez les paramètres à l'ensemble de données que vous utilisez pour le rapport. Cela peut être fait dans la section des paramètres lorsque vous éditez l'ensemble de données. Ajoutez deux paramètres avec les noms @indate1 et @indate2 et définissez chaque valeur de paramètre sur les paramètres que vous avez définis à la première étape.
  3. Modifiez l'instruction SQL comme vous l'avez décrit dans votre message. Je pense que votre SQL devrait ressembler à ceci (en supposant Input_date est une colonne dans la table):

WHERE Input_date >= @indate1 AND Input_date < @indate2

Ceci est spécifique aux BIDS version 2008 de Visual Studio. Si vous utilisez un générateur de rapports ou autre chose, faites-le moi savoir, et je peux changer les instructions un peu.