SSRS date time parameter - reporting-services

I'm trying to load default values in my report, like below screenshot. From to field is 'Yesterday' and to field is 'Today' or 'Now'
I can't seem to make this to work. I want to load yesterday's date and convert time format to dd-MMM-yyyy
=CDate(DateAdd(DateInterval.Day, -1, Now()).ToString("dd-MMM-yyyy")
This one works fine,
=CDate(Now).ToString("dd-MMM-yyyy")
Any idea?

It's simpler than I thought, I got it to work.
=CDate(Now.AddDays(-1)).ToString("dd-MMM-yyyy")

Related

AM/PM showing as A3/P3 when trying to select substring of DateTime in SSRS?

I am trying to get just the AM/PM part from a DateTime column in SSRS. I have tried both =Right(Fields!Start_Time.Value,2) and =Format(Fields!Start_Time.Value,"tt") and both gives me A3s and P3s. I have also tried =IIF(DatePart("hour",Fields!Start_Time.Value) < 12, "AM", "PM") which just displayed the original DateTime, unformatted. What is causing this and how do I just get the AM/PM part?
Are you sure that your field is a DATE/TIME or does it just look like a Date/Time field?
The only thing I can think of is that your field isn't actually a date/time type but just looks like one.
Try using CDATE to convert the Start Time field to a Date/Time that can be Formatted.
=Format(CDATE(Fields!Start_Time.Value),"tt")
UPDATE:
After reviewing your comments, I think you are putting the formula in the FORMAT property and not in the Expression. The way the question was written, I assumed you were populating the text box's Expression with the data formatted using the FORMAT function. If set the text box to the Start Time field and want to format using the FORMAT property, you would just put the in the FORMAT (tt) and not use the FORMAT function.
Try: =IIF( Mid(Fields!Start_Time.Value,12,2) < 12 , "AM", "PM")

Date/Time formatting in access textbox

I have an issue, and believe its simple to resolve but cant work out how.
My table, which has showing both date & time can not be amended because that is how I receive my data.
Ive changed the format in the table design to short date and it shows fine, it hides the time.
I also changed the textbox that displays the date to short date but its still showing both the date and time, why?
Primarily, I have another textbox that I want to calculate the table date + 30, my expression used is:
=[text5]+30
The textbox is displayed blank.
Any help?
It sounds like your date field is linked as text. So convert to Date:
=DateValue([OpenedDate])
and for the +30 date:
=DateAdd("d",30,DateValue([OpenedDate]))
However, there is no way that:
? DateValue(Now() + 30)
can show today's date. It will show 30 days ahead of today.

dd/mm/yyyy date format in SSRS

i'm trying to specify dd/mm/yyyy dateformat for date/time parameter in SSRS 2008 R2.
My computers datetime format is mm-dd-yyyy.
My requirement is, i want to show date format at dd/mm/yyyy irrespective of the system/server date format.
I've already tried CDate(Format(Today,"dd/mm/yyyy")) which didn't work. one very strange thing i observed is, it shows dd/mm/yyyy format only for dates on or before 12-MM-yyyy, and 13 onwards it gives error: Conversion from string '25-04-2014' to type Date is not valid. (Possibly it is trying to map 25(daypart) with MM-dd-yyyy (month part)) which is out of range of total months i.e. 12)
my research on internet says it is a bug in BIDS 2008.
What do i do to display date as dd/mm/yyyy ??
I don't have enough reputation to comment, but I did notice that you failed to put "()" after "Today". If I'm not mistaken you must put Today() for that function to work. Also, you might want to try putting CDate Around the Today() function. You shouldn't need it, but it's worth a shot. Also, for some odd reason, in my experience, you must capitalize MM for format to work correctly.
Like #Aditaya said, it should be =format(Today(),"dd/MM/yyyy")
The expression I usually use is:
=FormatDateTime(Fields!Date.Value, DateFormat.ShortDate)
However, this may be region specific.
Rather than writing an expression to do the formatting, you can also use the Textbox Format Property. But first you need to make sure that the data is in a date format. So use the CDate function on your column like this:
=CDate(Fields!Date.Value)
Then in the textbox properties go to the Number tab. Select Date for the category. Then you can select whichever format you want or use a Custom format. This will change how the column displays when you run the report.

Showing Date in a specific format

I need to make the date format that I entered into the database look exactly the same as when i view it. Eg. Currently my format is 2013-12-21, but when i view it, it shows 12/21/2013. It's quite confusing because when I edit the date in my form, it's in the 12/21/2013 format and the database wont accept it when i change the date to something like 12/23/2013. Please help. Thanks
(btw, it just auto formatted my date. I didn't even use the <%formatdatetime%> function.)
EDIT: Sorry for the lack of information guys. This is what's happening.
1. I created a form to add date amongst othes to mysql. Eg. Purchase date, item, etc (sql wants it in yyyy-mm-dd format and that's how i enter it.
2. created a view list to select which rows i want to update. (Used
<%=Formatdatetime(f_purchasedate,2)%>
to show date only without time as it was 12/21/2013 12:00:00 AM)
3. created an update form.
Now the problem is it shows the date as 12/21/2013 instead of 2013-12-21. So when i submit the form after altering other fields, it says date error. I have to manually type the format 2013-12-21 for all my dates before i can submit the form.
i'm guessing it has something to do with this line of mine.
purchasedate.Text = ODBCdataset.Tables("tbl_vm").Rows(0).Item(2)
tried this but it doesnt help either...
formatDateTime('purchasedate').Text.ToString("yyyy-MM-dd") = ODBCdataset.Tables("tbl_vm").Rows(0).Item(2)
You can use DATE_FORMAT(date,format)
Select DATE_FORMAT('Your Date Value'),%Y-%m-%d) as Date from table_name
Or
You can pass the value to a variable like below
purchasedate.Text = CType(ODBCdataset.Tables("tbl_vehiclemanagement").Rows(0).Item(2).ToString, DateTime).ToString("yyyy/mm/dd")
Dim date As String = DateTime.Now.ToString("yyyy/mm/dd")

SSRS 2008 Time Format for a chart. does not work

I have an ssrs chat, I want to bind time valeus to y axis.
Data comes in "2013-11-21 16:07:31.000" format
I need 16:07 value as time. but no function give me that.
when I use cdate, and then Format it does not work . HHmm returns me an inteeger 1607 bur HH:mm doesnt work.
please help I am about to go crazy!
Try leaving your value, or setting up a calculated field that just uses =CDate(Fields!AverageTime.Value) or =DateTime.Parse(Fields!AverageTime.Value)
Then, I assume you use that date field as a category on your graph. Set the format on the X axis to HH:mm as shown below. Let the graph handle the display using format strings, don't use the Format function.