2016-08-26 5 views
0

나는 날짜 프롬프트에 두 검증 만들 수있는 요구 사항이 있습니다프롬프트 날짜를 검증하는 것은 현재 날짜 OBIEE 이상이어야한다

1) 날짜에서 날짜

2)는 다음의 제품에보다 작아야한다을 날짜가 현재 날짜보다 작거나 같아야합니다.

날짜가 < 인 To, 날짜가 작동하는 조건부 분석을 만들었지 만, 고급 필터를 만들려고 시도 할 때 @To_Date < = Current_Date 오류.

가져 오는 동안 오류가 드릴 정보 : date'2016-08-24 SELECT 'FROM saw_0 "인력 관리 - 가공 시간 카드 실시간"WHERE (날짜'@ {TO_DATE} '< = (따라 valueOf SELECT ("CURRENT_DATE_REP_OTBI") "노동력 관리 - 처리 된 시간 카드 실시간")

누군가가이 문제를 해결할 수 있다면 정말 도움이 될 것입니다! 감사합니다.

+0

"current_date"는 Oracle 시스템이 제공 한 날짜입니까? 그러면'sysdate '여야합니다. 또한 (OBIEE에 익숙하지 않다면 ...) 모든 것이 기본 데이터베이스에서와 똑같이 작동한다면'to_date '에 시간 구성 요소가있는 경우'to_date <= sysdate'가 실패합니다. 쿼리가 실행되는 정확한 순간보다 늦은 시간. – mathguy

+0

@mathguy 이봐, 그래 .. 그게 0 행을 반환하고 결과적으로 오류 메시지를 표시해야합니다 ... 그래서 내가 목표로했던 것입니다 – emeraldgreen

답변

1

논리 SQL 쿼리 또는 수식에서 표현 변수를 참조 할 때 기본값을 추가해야합니다. 특히 이들이 날짜 인 경우.

다음 LogicalSQL을 기반으로 분석을 만들었습니다.

'WHERE (날짜 {TO_DATE} @ "subject_area"에서 saw_0 {'2016년 8월 26일 '} < CURRENT_DATE)

공지 다음 date'2016-08-26를 선택합니다 :

  • @ {to_date} 표현 변수는 기본값 (두 번째 중괄호로 표시)과 함께 사용됩니다. 이는 OBIEE가 쿼리를 검증하는 데 도움이됩니다. 기본값을 추가하지 못하면 "드릴 정보 가져 오기"오류가 발생합니다.
  • 세션 RPD 변수 대신 CURRENT_DATE를 사용할 수 있습니다. 그것은 쿼리를 단순화합니다.

위의 쿼리는 SELECT 절의 날짜를 반환하지만 to_date가 CURRENT_DATE보다 큰 경우 데이터를 반환하지 않습니다.

+0

나는 너무 생각했지만 문제는 내가 중 하나를 씌우고 있었다 SQL에서 "select current date from ..."또는 current_date를 직접 값으로 설정하려고했습니다. SQL 표현식에 CURRENT_DATE 만 넣으면 문제를 해결할 수 있습니다. 감사합니다. – emeraldgreen