I am trying to create an "All" parameter. I created a stored procedure that says:
Code Snippet
CREATE PROCEDURE dbo.Testing123
AS
SELECT distinct ID AS ID, ID AS Label
FROM TPFDD
UNION
SELECT NULL AS ID, 'ALL' AS Label
FROM TPFDD
Order by ID
GO
Then I createded a report parameter and set the default to All
I also created a filter that sets the textbox vaule to the report parameter.
In theory I think that when I select ALL it should bring back everything but it is not. It brings back nothing. What am i doing wrong?
In the query that returns the data for the report, I suspect you're doing something like:
WHERE id = @.ID
What you would need to do is:
WHERE id = @.ID OR @.ID IS NULL
I think that you should be setting your default value to NULL instead of "ALL", that would remove the need for your filter.
|||Is this what you mean?
Code Snippet
CREATE PROCEDURE dbo.Testing123
@.id char
AS
SELECT distinct ID AS ID, ID AS Label
FROM TPFDD
UNION
SELECT NULL AS ID, 'ALL' AS Label
FROM TPFDD
Where ID = @.id or @.id is NULL
Order by ID
Should this make it work?
I am also getting this error: "The report parameter 'pid' has a DefaultValue or ValidValue that depends on the report parameter "pid" Forward dependencies are not valid."
|||No, I meant for you to put it in the query that is returning the data for your report, not for the parameter.
I am assuming that what you have currently is a parameter as a drop down box where they select the id from the list generated by the query that you have posted above. Then, the user presses "view Report" and a report for that id is executed with data filled in by some other query, that currently has
Where ID = @.id
to return just the data for the id you have selected.
If you add
or @.id is NULL
to the where clause, it will detect if the user has selected ALL and not filter the results.
Maybe I have misunderstood what you're trying to do?
|||You were right! Thank you so much for your help with this
No comments:
Post a Comment