SSRS Pass Date Parameter in URL - reporting-services

I have been trying to figure this out for a while now and I cannot seems to get it to work. I am trying to pass 2 date parameters to an SSRS report. I am using SSRS 2016. The link that gets you to the report is
http://ServerName/Reports/report/SomeFolder/ReportName I have tried following the unanimously agreed upon approach of simply appending &StartDt=01/01/2020&EndDt=01/31/2020 and other combination and listed below.
http://ServerName/Reports/report/SomeFolder/ReportName&StartDt=01/01/2020&EndDt=01/31/2020
http://ServerName/Reports/report/SomeFolder/ReportName&StartDt=01-01-2020&EndDt=01-31-2020
http://ServerName/Reports/report/SomeFolder/ReportName&rs:Command=Render&StartDt=01/01/2020&EndDt=01/31/2020
http://ServerName/Reports/report/SomeFolder/ReportName&rs:Command=Render&StartDt=01-01-2020&EndDt=01-31-2020
In all cases I get the almost the same error, with the only difference being how I added the dates. The path of the item '/SomeFolder/ReportName&StartDt=01-01-2020' is not valid. The full path must be less than 260 characters long; other restrictions apply. If the report server is in native mode, the path must start with slash. (rsInvalidItemPath) I have confirmed the parameters match StartDt and EndDt appear exactly that way in my report, just for SAG I even made the prompts match and they are Non null able Date/Time fields. None of available values or default values. If nothing is selected it has the calendar icon to pick a date and everything runs perfectly.

I actually think I saw something on this back in a .Net explanation but it came out to be the link below. As usual I never mark my answer as correct, but leave it for the next person.
http://ServerName/ReportServer/Pages/ReportViewer.aspx?%2FFolderName%2FReportName&rc:showbackbutton=True&StartDt=01/01/2020&EndDt=01/31/2020

Related

ssrs subscription multi value - parameter not saved

I didn't create the report, but there is a (not data-driven) subscription. There is one parameter with a default value (no issues). Then there are two multi-value parameters. When modifying the (mysteriously empty) multi-value parms (after the report failed to run) I can select ALL for each and set to run once--and the process succeeds. A file is written out to the folder per my intentions.
But when the date to run is set to the next morning, the execution fails with a message about invalid parm values. When I go in to check, those multi parms are empty again.
How do I fix this? (dumb question, I know)
What am I doing wrong? (also, very non-specific)
What am I leaving out? (of this question)
How do I search for this issue on SO? (I tried, but I couldn't find anything similar; maybe I'm missing some terminology; my search terms were "ssrs subscription multi value parameter not saved")

SSRS - date-time parameter transposition

This is a problem in DEV with the following configuration:
SSRS 2012
Reports configured to the language en-gb
I have recently noticed that all of my date time parameters are getting transposed when i click "View Report". So for example a GB date 08/01/2015 gets transposed to 01/08/2015 on clicking "View Report". This results in having to click the button twice for the report to show me the correct data. I have used SSRS on and off for many years and I have never noticed this before. Can anyone shed some light on this?
Obviously the parameter is switching between en-gb and en-us but why and how do i stop it?
I found a post where some one is suffering from the same problem as me but their solution seems a little overkill issue with DateTime datatype in SQL Server Reporting Services. They recomend changing your regional settings and IIS settings which may fix and or break all sorts.
I believe that the problem can be how do you set up the default value in the parameter definition. If instead of a fixed date, you use a dataset with a date time funtcion (something like " Select dateadd(month,-1,current_timestamp) as [Default Date]") and a default value based on that dataset, your problem could be solved, because you're not specifying any date format in the dataset's field and it should contain the right value.
Hope this helps.

Parameter is missing a value ssrs 2008

I have a parameter of integer datatype which is hidden. When i run the report, report gives me an error
Parameter X is missing a value
However if i make the parameter visible it works. I tried providing default value of 0 but that does not suffice my requirement as i have sub-report(Drill-dowm) depended on this parameter. Please help. Thanks!
Make sure that you have not specified Available Values for the parameter. Available Values should be "None" for internal and hidden parameters.
First of all,
Check that parameter's - Available Values by going to report parameters properties.
It must not be specified any values. So we should set it as None
Second work around is,
Just add a blank space at Specify values - in Default values inside report parameters properties.
This will surely work. Hope it will save your time.
I had to do an "if exists" statement for this to go away. It worked for me because it makes it always return a value even if that value is not need by my query.
if exists (my select query)
my select query
else
select '2'
// '2' would never be used, but it made ssrs stop giving me
// the stupid error and execute the rest of the query
If you specify available values from query, then default values must be in list of available values. Default value in (Available) = true.
The problem occurs also, if you have a parameter that depends of another one without "default value" inside the Dataset Query and does not admit null value.
For example:
Parameter 1 have a default value: NameEmployee from the dataset "EmployeeSearch"
But the dataset "EmployeeSearch" have a filter or a parameter inside the query named #Month that indicate the number of the month. So if the value of #Month is null, SSRS will say "Parameter is missing a value".
Assuming you had the same issue as I had, trying to run the report on a web page using a ReportViewer component, I managed to fix that issue by adding a null parameter before rendering the report:
C# code:
var parameters = new List<ReportParameter>();
parameters.Add(new ReportParameter("ParameterName", (string)null));
ReportViewer1.ServerReport.SetParameters(parameters);
Hope that will help
Just need to add 1 default value to get around this error (even though that default value will never be used).
-Under "Report Parameter Properties" for that specific parameter, go to the Default Values page.
-Toggle "Specify values"
-Add a value (I added: "just_a_filler_to_get_around_hidden_value_error" so when I look back at it later I remember why I did such a thing)
-click OK
I want to add to dmbreth's CORRECT answer.
I was missing the concept that the value of the parameter still needed to be tied to something. Originally, I was tying the output of a dataset by using the Available values portion of the parameter properties, but according to dmbreth's answer, that could not be the case. Finally I moved my output dependence settings from the Available Values section to the Default Values section and that did the trick.
So, in summary, in the parameter properties dialogue:
General Page - Allow multiple values checked(this option is specific to my application), parameter visibility set to internal
Available Values Page - None
Default Values Page - Get values from query, [appropriate dataset, value here]
Advanced Page - No significance here
Hopefully, that is clear enough to benefit someone else with the same problem...
I had a similar issue where the default value as set by SSRS is (Null), I didn't need the parameter for my report however; I found it useful for testing to filter down the list so I kept it, I guess I could have deleted it in SSRS on the dataset config. but I changed it to =System.DBNull.Value (I guess this could be any expression) instead and that worked for me, so then I can still pass in a value if need be and also set Available values (had to make sure a NULL value was added to my dataset) if I then decide to unhide at a later date.
There is one other potential here. I have had a situation where the report designer works but the server report object does not. The solution is to delete the server object and then re-save it from the designer.

Reporting Services problem. Forward dependencies are not valid

I have a problem with a Reporting Services report. My report has two datasets, one that fetches the actual report data and one that fetches translated resource strings for displaying wherever literal text is used on the report. This dataset requires three parameters, a language set id, a language code and a string to match against resource names.
Following an example I found here (the reply by Miguel Catalão) I have created a multivalue parameter #Resources that will be populated from the resource dataset and a code function that looks up specific values from the multivalue query. This function will then be called from expressions wherever literal strings are used.
I think that this should work but I have run into a problem that I can't quite figure out a workaround for. There is a dependency problem in the #Resources parameter being dependent on the Resources dataset which in turn is dependent on three parameters; #LanguageSetID, #LanguageCode and #ResourceNameLookup. I have read that the order of declaring parameters is important so I have made sure that the last three parameters appear above the #Resources one and that all three of them have default values that will result in data being retrieved by the dataset.
Yet I am still getting the following errors when previewing the report; any advice or guidance would be most appreciated.
The report parameter ‘Resources’ has a DefaultValue or a ValidValue that depends on the report parameter “LanguageCode”. Forward dependencies are not valid.
The report parameter ‘Resources’ has a DefaultValue or a ValidValue that depends on the report parameter “ResourceNameLookup”. Forward dependencies are not valid.
I had the same error but it was due to something else. What I had done was created a Parameter in my report, then linked the Default Values to a Dataset.
This in turn added the parameters needed in the Dataset. Somehow, the order of the parameters in my list were changed. This is when I stared getting the 'Forward Dependencies are not Valid' error.
I then looked at another report that used the same process to link a Parameter to a Dataset. I noticed that the order of my Parameters were different. I simply went back to my new report, and used the up and down arrows until my Parameters were in the same order as the working report. This seemed to fix the error and work fine. Apparently the the Parameter that was using the Dataset needs to be below the Parameters that are used in the SPROC.
I this helps someone in the long run.
C/N: Parameter was being filled by a Dataset(Stored Procedure). The Parameter that was being filled was above some of the Parameters that it was expecting for the SPROC.
This was all caused by a stupid error I made. I copied and modified the code function from the post I mention but neglected to change the data type of the argument from integer to string, which mine is.
It seems rather odd that the error manifested in the way it did but I have gotten past that problem now, only to run into another that I ask about in another question.

MS Access 2003: User was able to enter an invalid value; how?

I have a strange phenomen I can't explain nor reproduce and I'm hoping you have an idea how it was possible for the user to enter an invalid value.
I have an Access-MDB with a form containing an edit field that should only accept time values without any date-information.
The relevant properties of that edit field are as below:
bound to a Date/Time database value (since access know no time-only datatype)
Format: "Time, 24hrs"
Input Format: "99:99"
(I use the german version of Access, so the property names may be a little different, but you see the pattern)
Now I found out that a user was able to enter a date value into that field. I'm nearly 100% sure that it was an accident and no "clever hack" in the form of directly opening the table and editing the corresponding Date/Time field. Since the entry was made back in 2009 (nobody spotted the error), I have no chance to ask the user how it was done.
I found two wrong entries with the dates "01.06.2000" and "01.07.2000" and I guess the user wanted to enter the times "06:00" and "07:00".
I tried every input I can imagine (like "6.0", "6;0", "6,0", copy&paste) but I was unable to trick access and enter anything except digits and the colon.
Do you have any idea what is going on and how the user was able to enter these dates accidentially?
A Jet/ACE Date/Time value is never stored "without any date information". If you attempt to store only the time component, it will actually be stored with the same time on day zero (Dec 30, 1899).
We can only speculate how the incorrect data was added back in 2009. If you want the database engine to require your Date/Time values to be stored with day zero as the date component, you can add a table-level validation rule. From the table property sheet, try this for Validation Rule:
DateValue([your_date_field])=CDate("1899/12/30")
If you want to allow Null for your_date_field, try this version:
IsNull([your_date_field]) Or DateValue([your_date_field])=CDate("1899/12/30")
Several possibilities:
A developer (you?) did it by accident when looking at the raw table
The client Access software went momentarily crazy and corrupted the entry. This has happen to us (fortunately very rarely) where our Access tables will end up with non-ASCII characters in a string field.
A bug in Access runtime allowed the problem in the past, but has been corrected in a service pack.
Finally, if you put in 90 hours, does it overflow into 4 days and something? That might do it.