Reputation: 12474
I've been wrestling with this one report for a long time, and finally figured out what to do but it was serendipitous .
Well I changed a parameter that depends on a previous one to be "Internal" - then everythig worked like I wanted! thanks
How does "Internal" differ from "Hidden" in SSRS?
Upvotes: 25
Views: 28091
Reputation: 65544
PromptUser == false --> Parameter is "Internal"
PromptUser == true AND Prompt is null or empty --> Parameter is "Hidden"
PromptUser == true AND Prompt is NOT null or empty --> Parameter is "Visible"
Upvotes: 11
Reputation: 365
Hidden: not exposed in the parameter input area, but is accessible via a report URL or in a subscription definition.
Internal : is accessible only inside the report (i.e. not exposed outside the report, can't pass a value to it, modify it via a report URL). Must have default value.
Full text from MS Learn's "Creating Report Parameters and Setting Report Parameter Properties" page:
"...Setting the Hidden and Internal options provides different levels of visibility. You can hide the parameter on the parameter input area of the published report, yet set values for it on a report URL or in a subscription definition. If you set a parameter to Internal, it is not exposed in any way except in the report definition. An internal parameter must have a default value, which can be null if the Allow null value option has been selected."
Upvotes: 0
Reputation: 65496
Internal is not exposed and you cannot pass it to the report when calling with parameters from another one. Note it will not appear at the top where the user can change it.
Hidden means that it won't show at the top of the page to allow the user to manually adjust it, but it can be passed to the report via call from another report.
I prefer to use hidden and have sensible defaults on them. In that way I can always override if I need to them when navigating between reports.
I would also look at this similar answer : What are the rules for using "Internal" parameters in SSRS. It shows a good use case for Internal parameters, which I've used on occasion too.
Upvotes: 33