UFO ET IT

Reporting Services는 식의 DateTime에서 시간을 제거합니다.

ufoet 2020. 12. 26. 15:46
반응형

Reporting Services는 식의 DateTime에서 시간을 제거합니다.


표현식 (매개 변수의 기본값)을 명시적인 시간으로 채우려 고합니다. "지금"기능에서 시간을 어떻게 제거합니까?


이 같은:

=FormatDateTime(Now, DateFormat.ShortDate) 

여기서 "Now"는 변환하려는 날짜 / 시간 필드의 이름으로 바꿀 수 있습니다.)
예를 들어,

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)

SSRS는 VB를 사용하므로 다음을 수행 할 수 있습니다.

=Today() 'returns date only

사용하는 경우 :

=Now() 'returns date and current timestamp

=CDate(Now).ToString("dd/MM/yyyy")

날짜를 로케일로 하드 코딩하고 있지만.


보고서 머리글에 필드를 표시해야하는 경우 다음을 시도하십시오. 텍스트 상자> 속성> 범주> 날짜를 마우스 오른쪽 단추로 클릭하고 * 형식을 선택합니다 (지역 설정은 유지됨).

이 질문을 여러 번 보셨 기 때문에 게시하고 있습니다. 도움이 되었기를 바랍니다.

여기에 이미지 설명 입력


DateValue(Now)결과가 DateTime데이터 유형 이길 원하는 경우 에만 사용 하십시오 .


예상 데이터 형식이 MM-dd-yyyy다음 아래 에서 시도하십시오 .

=CDate(Now).ToString("MM-dd-yyyy")

마찬가지로 이것을 시도해 볼 수 있습니다.

=Format(Today(),"MM-dd-yyyy") 

산출: 02-04-2016

참고 : 현재 날짜 시간 스탬프
Now() 가 표시됩니다 .

Today()시간 부분이 아닌 날짜표시됩니다 .

또한 MM-dd-yyyy내 예제 대신 모든 날짜 형식을 설정할 수 있습니다 .


텍스트 상자 필드의 형식 속성에서 형식 문자열을 사용할 수 있습니다.

예 : D / M / Y, D 등


다른 사람들에게 도움이 될 수있는 한 가지는 =CDate(Now).ToString("dd/MM/yyyy")열을 마우스 오른쪽 버튼으로 클릭하여 얻을 수있는 SSRS의 형식 문자열 속성에 배치 할 수 있다는 것 입니다. 이것이 가장 깨끗한 방법입니다. 그러면 표현이 너무 커서 시각적으로 "구문 분석"하기 어렵지 않습니다. :)


    FormatDateTime(Parameter.StartDate.Value)

게임에 늦었지만 위의 모든 솔루션을 시도했습니다! 매개 변수에 0을 삭제하고 기본값을 제공 할 수 없습니다 (포맷을 무시하거나 공백으로 표시됨). 나는 SSRS 2005를 사용하고 있었기 때문에 투박한 / 버그가 많은 문제로 어려움을 겪었습니다.

내 해결 방법은 날짜를 가져 오는 데이터베이스의 사용자 정의 [DimDate] 테이블에 열을 추가하는 것이 었습니다. [날짜] 열의 원하는 형식으로 문자열 표현 인 열을 추가했습니다. 그런 다음 SSRS에서 'To'및 'From'날짜 기본값에 대한 2 개의 기본값에 대해 다음 쿼리를 가져 오는 2 개의 새 데이터 세트를 만들었습니다.

'에서'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date < DATEADD(month, -3, GETDATE()
                     )

'에'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date <= GETDATE()
                     )

날짜 / 시간 매개 변수에 대한 내 솔루션 :

=CDate(Today())

트릭은 Perhentian을 권장하는 것처럼 DateTime으로 다시 변환하는 것입니다.


여기 에서 해결책을 찾았습니다.

이것은 전날의 마지막 초를 가져옵니다.

DateAdd("s",-1,DateAdd("d",1,Today())

지난주의 마지막 초를 반환합니다.

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))

값의 끝에 문자열을 연결하면됩니다.

Fields!<your field>.Value & " " 'test' 

그리고 이것은 작동합니다!


이는 데이터 세트에서 수행되어야합니다. 당신은 이것을 할 수 있습니다

Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName

에서 SSRS레이아웃, 바로 이렇게=Fields!DateColumnName.Value

참조 URL : https://stackoverflow.com/questions/1395441/reporting-services-remove-time-from-datetime-in-expression

반응형