0

나는이 문제를두고 고생하고있다.키/값 쌍으로 일반 sql 데이터를보고하는 방법은 무엇입니까?

Person 
(
    PersonId 
    Email 
) 

Info 
(
    InfoId 
    InfoDescr 
) 

PersonInfo 
(
    PersonId 
    InfoId 
    InfoValue 
) 

내가 여기에 사용자에게 약간의 특별보고를 제공 할 필요가 다음과 같이

가 좀 정규화 된 테이블이, (간체) 배치. 상사가 Cognos를 사용하기를 원하며 Crystal Reports 및 SQL Server Report Services도 사용할 수 있습니다.

Give me all people in zipcode x who are subscribed to our newsletter 
    (Assuming Zipcode and Newsletter are stored as Info records) 

나는 사용자가 할 수 있도록하려면 너무

PersonId, Email, InfoId, InfoDescr, InfoValue 
1   [email protected] 2  Zipcode  12345 

같은 데이터를 평평하게하는 뷰를 작성했습니다 :

어떻게 다음과 같이 사용자가 데이터를 조회 할 수 있습니다 원하는 Infos를 골라 내고 그들을 필터링하는 기준을 제시하십시오.

모든 권장 사항에 감사드립니다. 감사!

답변

1

Crystal Reports를 사용하는 것이 좋습니다. UI를 용이하게하는 콤보 상자/필터가있는 간단한 양식을 작성하십시오. 양식을 통해 사용자는 원하는 기준을 선택하고 필터링합니다. 이 조건을 사용하여 SQL 쿼리를 만들고 결과 테이블을 Crystal 보고서의 데이터 소스로 사용합니다. 크리스털을 처음 접했고 샘플 코드가 필요하다면 ...

+0

저는 Crystal에 익숙하지 않습니다. XI 12.5가 있습니다. 나는 그들이 원하는 데이터를 얻기 위해 동적으로 필터를 추가하는 방법을 아직 확신하지 못한다고 생각합니다. – IronicMuffin

+0

귀하의 질문을 이해할 수 있는지 확신 할 수 없지만 답변 드리겠습니다. 사용자가 원하는 정보를 선택한 다음 텍스트 상자를 선택하여 필터 기준을 삽입 할 수 있도록 모든 InfoDescr 데이터로 콤보 상자를 채우는 것이 어떻습니까? 그런 다음 필요에 따라이 프로세스를 반복 할 수 있습니다. – Urik

0

Excel로 끝났습니다. 자세한 내용은 this accepted answer을 참조하십시오.

요약하면 저장 프로 시저에서 동적 피벗 테이블을 사용했습니다. 저장 프로 시저가 내가 만든 뷰를 호출하여 데이터를 비정규 화합니다. MS Query를 사용하여 저장 프로 시저를 Excel 2010에 연결하는 것이 좋습니다. 이렇게하면 최종 사용자가 마음의 내용을 정렬하고 필터링 할 수 있도록 멋지게 형식화 된 테이블로로드됩니다.