1

Я работаю над отчетом в SQL Business Intelligence 2008, в котором есть таблица, в которой одна ячейка должна содержать значение даты (а не DateTime, а именно месяц, день и год). Сейчас выражение для этой ячейки будет выглядеть следующим образом:SSRS - Использование формата даты, который не построен в

=Fields!MyDateValue.Value 

У меня есть проблема, что эта дата должна отображаться в формате дд-MMM-YYYY, например, 1 января 2000 будет 01-январе- 2000. Я просматривал форматы, доступные в Properties-> Number, и этот формат, кажется, не встроен. Есть ли способ заставить ячейку отображать дату в этом формате?

ответ

2

Это работает для меня:

=Format(Fields!MyDateValue.Value, "dd-MMM-yyyy") 

Для верхнего регистра месяца, как вы указали:

=UCase(Format(First(Fields!order_entry_date.Value, "ReportMain"), "dd-MMM-yyyy")) 
0
=Day(First(Fields!inserteddate.Value, "DataSet1")) &" - " &left(MonthName(Month(First(Fields!inserteddate.Value, "DataSet1"))),3) &"-" &Year(First(Fields!inserteddate.Value, "DataSet1")) 
1

Вы должны отделить данные от представления. Это важно, если экспортировать отчет в Excel - если вы форматируете Value в виде строки, тогда поле будет экспортироваться в Excel как текст, а не дату, что затрудняет сортировку и формулы.

Оставьте Value как только поле: =Fields!MyDateValue.Value и для Format собственности вашей ячейки положить в ваш формат даты: dd-MMM-yyyy. Это предпочтительный метод, чтобы ваши столбцы сохраняли свой тип данных при экспорте.

Однако в этом месяце будет отображаться ведущий капитал, а не все в верхнем регистре, как показано на примере. Если вам нужен месяц в верхнем регистре, вам необходимо отформатировать ячейку Value на строку вручную:

=UCase(Format(Fields!MyDateValue.Value, "dd-MMM-yyyy"))