Srss Report #error - reporting-services

I am trying to get a column in a report, and I am having the issue where the report will show #error in the column. I think I have found the cause, but I am unsure, and I'm also unsure how to solve it.
The code I am currently using is:
=iif(SUM(Fields!ask_response.Value)>SUM(Fields!ask_totalduration.Value), "Time Met", "Time not Met")
Some of the values have 0 in the one of the 2 columns involved. Is there a way to get it to say "Time Not Met" if the value is 0?
Thanks
Joe

Nested IIf's are a true pain and I have had similar issues before. Copy this to a new location and start over, working your way from the inside out, testing at each level to make sure you do not get an error.
I am not sure you should be using sum in this instance.
I am not sure if this will work but I have...
=iif(IIf(IsNothing(Fields!ask_response.Value),0,Fields!ask_response.Value) > IIf(IsNothing(Fields!ask_totalduration.Value),0,Fields!ask_totalduration.V‌​alue),"Time Met", "Time not Met" )

Related

Why does this expression work in one spot but not another when using the same data?

I have 2 reports here that are machine schedules (Wrap & Moulder). They were working great, until I tried to add a checkbox to say whether or not the previous step had been marked completed. It worked initially on Wrap Schedule but when I did the exact same thing on Moulder Schedule it is coming out as data type mismatches. In the checkbox I have put the expression:
=IsDate([Previous_Date_Ran])
It works great on Wrap Schedule, but as soon as a Date is entered in the [Previous_Date_Ran] field I am getting data type mismatches. I have narrowed it down to whenever a date is put into that field, which is odd because when it is Null there is no issue. I have made sure already that my other form that supplies this [Previous_Date_Ran] field is inserting =Date() and not =Now() or =Time(). Below will be screenshots of it working on Wrap but erroring on Moulder.
[
Thank you if you have suffered through with me so far, any help would be much appreciated!
For anyone still struggling here is the steps I took to fix this problem:
Firstly, I have the field Date_Ran as a Date/Time, formatted to short date. Another form has an on-dbl-click event where it inserts today's date in the field. Turns out when you use =Date() in VBA is assigns it a default Variant type. For whatever reason I believe this was what caused the error. The second I switched to using =Date$() it inserts today's date as a string and the error has stopped. Good luck!

ssrs if - cannot print the requested value

I have the following iif
IIF(LEN(Fields!IDENTITE.Value)=0,"Known manager","Unknown manager")
Yet for some specific case, nothing is appearing (e.g. no known nor unknown)
I checked the results with a sql query and nothing is appearing (the result is below)
I amended my iif to reflect this case
IIF(COUNT(Fields!IDENTITE.Value)=0,"Known manager","Unknown manager")
Yet the same issue is appearing
Any ideas on the why?
Thanks
Update : I tried the countrows as mentionned by #breez and I got this error
One of the possible way to deal with the absence of rows is the following:
Click on the tablix , look for NoRowsMessage option and type the text you want (example: "No known managers")
Next time there are no rows, this message will be displayed
PS: It is only doable for matrix, list and tables not for textbox. For more info, click here

=WeekdayName(weekday(Today())) gives me tomorrow

I have noticed with one of my reports (SSRS), when I add weekdayname, that tomorrow's value appears.
I tested this by adding a textbox with =WeekdayName(weekday(Today())) in it. I have just run this (on a Monday) and it is saying Tuesday. So clearly it's one day out.
Does anyone know how I can go about rectifying this? I can get round it in reports by adding an expression but I suspect there's some deeper problem that I would like to rectify.
Any advice would be much appreciated.
Try specifying the first day of the week in the Weekday function to be determined by the system settings.
=WeekdayName(Weekday(Today(),FirstDayOfWeek.System))

CRM Report Miscalculating columns

I have created a custom column, in a CRM report, and the column sometimes does not calculate the answer correctly.
See Attached image: http://imgur.com/hfHWg19
The left column is: =CDbl(Sum(Fields!ask_totalduration.Value/60)).ToString("N1", Microsoft.Crm.Reporting.RdlHelper.ReportCultureInfo.GetCultureInfo(Parameters))
The Middle column is: =Fields!ask_response.Value
The right column is: =iif(Fields!ask_response.Value>Fields!ask_totalduration.Value, "Time Met", "Time not Met")
As seen in the picture, something is not working properly, but I am unable to figure it out.
Thanks Joe
Looks like it might be a type coercion issue.
Try changing your formula to this:
=IIf(CDbl(Fields!ask_response.Value) > CDbl(Fields!ask_totalduration.Value), "Time Met", "Time not Met")
This will ensure no implicit conversions are being performed.
If you want to keep it simple you can use below formula since you have only 2 decimal points.
iif(Fields!ask_response.Value *100 >Fields!ask_totalduration.Value *100, "Time Met", "Time not Met")

How can I test and handle a #Func! error from within a query?

I have an Access query that has a some what complex field on it. Basically, I'm searching for a certain value, based on other derived criteria. The function either works, or it gives a #Func! error. There are a few reasons why I may get an error. That is fine, because in those cases I want to return Null.
How can I test and handle a #Func! error from within a query? Also, I tried to wrap the expression in an IsError() method, and handle that case. That still didn't work.
If, for example, you are using Instr with a field that may or may not be null, and that is causing the problem, you can either select only those fields that are not null, or concatenate an empty string with the field.
SELECT Mid(AField & "",Instr(Afield & "","x")) FROM Table
I don't think this is the optimal solution, however, my hope is that the "higher powers that be" within Microsoft that manage Microsoft Access understand exception handling and would provide some way of testing and handling/ignoring errors, where appropriate.
Regardless, in my case I found a hack to the problem. I save the query just as it was and I exported it to a table. Since this was a one-off exercise, I was able to extract the necessary data and then filter out all Null values from the newly created table.
It worked, but it feels like a really poor hack.
OMGGGGG I know im 6 years late but This is the first time I'm posting on a blog because I actually solved the issue!! You have no idea how excited I am. OK so it turns out this is exactly what I was trying to do: Mid(AField,Instr(Afield,"x")). In my case I knew the InStr function did not always find x in Afield, and in those cases ideally I wanted a Null. But What it actually returns is a 0. In access, functions like Right, Left and Mid CANNOT "START" AT 0, They must start at 1 (or -1 I suppose). Which is what is causing the #Func! error!
One solution....if your Instr fuction=0 do one thing other wise do something else.
If I think of another solution, I let you know.