별도의 날짜 및 시간 값의 매개 변수를 묻는 메시지가 표시됩니까?


9

Crystal Reports 2016에서 작업하고 있습니다. 데이터 소스는 MS SQL Server 2008 R2입니다. 현재 매개 변수를 사용하여 보고서의 날짜 범위를 묻는 메시지를 표시 할 수 있습니다. 또한 시간 범위에 대한 프롬프트를 추가하고 싶습니다. DateTime 매개 변수에 대한 프롬프트를 사용하여 원하는 것을 수행하지 않습니다. 날짜 범위는 더 큰 기간의 창을 선택하고 시간 범위는 하루 동안 보고서에 데이터를 표시 할 시간을 선택합니다. DateTime 매개 변수 프롬프트를 사용하면 보고서의 시작 및 끝 요일 / 시간에 정밀도가 추가되고 원하는 작업을 수행하지 않습니다. 두 프롬프트 모두 데이터베이스에서 동일한 DateTime 레코드를 참조합니다.

방금 별도의 두 번째 매개 변수 프롬프트를 추가하려고 시도했지만 매개 변수 프롬프트를 DateTime 값으로 변경하는 것과 동일한 결과를 얻습니다. 나는 반복한다 : 그것은 내가 원하는 결과가 아니다.

구체적이고 구체적인 예를 들어, 9 월 1 일부터 10 월 31 일까지 유효한 데이터를 사용하여 해당 날짜 또는 그 날 모두 오후 2시에서 오후 10시 (EST) 사이에 발생했습니다. DateTime을 선택하면 9 월 1 일 오후 2시와 10 월 31 일 오후 10시를 선택할 수 있습니다. 그러나 그것은 내가 선택하려는 것이 아닙니다.

기본적으로 요일 오후 2시에서 오후 10시 사이에 발생한 데이터를 선택하십시오. 시작 날짜와 종료 날짜를 선택할 수있는 경우 시작 시간과 종료 시간을 선택할 수 있습니다.

여기에 이미지 설명을 입력하십시오

SQL 용어를 사용하여 날짜 범위와 시간 범위 (중앙 범위)의 내부 조인을 원한다고 생각합니다.

여기에 이미지 설명을 입력하십시오

완전히 관련이 없지만 유사한 예. 이 현상은 Outlook의 회의와 유사합니다. 하루 종일 시작하고 며칠 후 다른 요일 / 시간에 끝나는 정말 긴 모임을 만들 수는 있지만 반복해서는 안되지만 회의실 일정을 올바르게 관리하려면 되풀이 모임을 만들어야합니다. 되풀이 모임과 비슷한 방식으로 레코드를 선택하려고합니다.

어떻게 공예 수 있습니다 select expert내가 찾고 있어요 데이터를 얻기 위해 규칙을? 내가 할 수있는 다른 방법이 있습니까? 아마도 하위 보고서?


1
이 Q가 1 주일 전이므로 너무 늦을 수 있습니다. 샘플 입력, 필요한 출력 및 솔루션에서의 최선의 시도로 다시 작성하려고합니다 (CR 개발자는 임베디드 위젯을 많이 사용하므로 게시가 더 어려워집니다). 그러나 현재로서는 구체적으로 해결하려는 문제가 무엇인지 시각화 할 수 없습니다. "2017-05-12.00 : 00 : 00Z를 받고 있지만 2017-05-12.23 : 59 : 59를 원합니다"라고 말하면 많은 사람들이 더 쉽게 도울 수 있다고 생각합니다. 행운을 빕니다.
shellter

1
간단한 해결책은 아마도 보고서를 통해 데이터를 가져 오는 다른 테이블을 가리키는 MS SQL에서 데이터베이스보기를 작성하는 것입니다. 그러나 함수를 HH사용하여 [hour] 는 오후 2시에서 오후 10시 사이 DATEPART입니다. 따라서 예를 들어 SELECT * FROM Table WHERE DATEPART(hh,[DateField]) BETWEEN 14 AND 22뷰에서 열을 명시 적으로 사용하지 않고 select expert선택한 날짜 기간 동안의 데이터를 가져 오도록 보고서를 지정하십시오. 다른 방법은 동일한 T-SQL 쿼리를 CR SQL 명령으로 만드는 것이지만 SQL보기의 성능이 훨씬 향상 될 수 있습니다.
Pimp Juice IT

1
따라서 SQL 쿼리를 명확하게하기 위해 SQL VIEW 또는 CR SQL Command 객체로 사용 SELECT * FROM Table WHERE DATEPART(hh,[DateField]) BETWEEN 14 AND 22하고 싶을 수도 있고 select column1, column2 FROM ~대신 SQL보기 등 의 쿼리로 열에 특정 할 수 있습니다 *.
Pimp Juice IT

1
내 예는 구체적인 예입니다. 사용자가 시작 시간과 종료 시간을 결정하도록하려고하므로 매개 변수를 언급했습니다. SQL 뷰에 대해 많이 알지 못하지만 어딘가에 붙여 넣을 경우 정적으로 설정되어 보고서를 실행하는 사용자가 즉시 변경할 수 없다고 생각합니다. 그런 점에서 질문을 더 명확하게 만드는 방법에 대해 살펴 보겠습니다.
YetAnotherRandomUser

사용자가 시간 범위를 선택하면 작동하지 않습니다. 아마도 저장 프로 시저에 대한 작업 일 수 있습니다. 더 이상 CR이 없으며 1 년이 지나서 아무것도 테스트하지 않았지만 CR 부분을 설정하고 TSQL이 수행하도록 구성 할 수 있다고 가정하면 잠재적 인 SQL 레벨 솔루션을 도울 수 있다고 생각했습니다. 저장된 proc을 빌드하고 시작 및 종료 시간 매개 변수를 전달하고 해당 값 등에 대한 CR 동적 프롬프트를 가질 수 있는지 확실하지 않지만 적어도 몇 가지 아이디어를 줄 것이라고 생각했습니다 ... 행운 상관없이.
Pimp Juice IT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.