2013-04-16 3 views
2

보고서 작성기 3 행렬을 사용하고 행 그룹 및 열 그룹을 지정하고 있습니다. 기본적으로 마스터 세부 유형 상황입니다. 여기서는 엔티티가 릴레이 및 연락처입니다. 각 릴레이에는 여러 개의 접점이 있습니다. 두 가지의 중요한 몇 가지 속성이 아래에 나와 있습니다.열 그룹의 일부 열 숨기기 (또는 필터링)

릴레이 :
이름 (단순 필드),
유형 (열거 필드),
연락처 (연락처에 대한 탐색 필드 엔티티 많은 한 가지.)

연락처 :
표시 이름 (단순 필드)
AllotedToSheet (단순 필드).

다음은 보고서의 모양입니다. 열은 열 그룹을 사용하여 연락처 테이블의 "표시 이름"필드에서 생성됩니다.

Generated Report Sample

지금 여기서 문제입니다. 위의 보고서에서 2 개의 지역을 표시했습니다. 두 가지 유형의 계전기가 있기 때문에 그렇습니다 (지금은 말하고 있습니다). 연락처 테이블의 "표시 이름"필드는 특정 릴레이 유형에 대해 동일하므로 보고서에 두 세트의 열 (표시된 값)이 표시됩니다. 릴레이 유형에 따라 다른 세트가 릴레이 유형에 적합하지 않고 각 릴레이 유형에 자체 생성 보고서 (rdl)가 있기 때문에 전체 보고서에 대해 하나의 열 세트 만 생성 또는 표시하려고합니다. 어떻게 이것을 달성 할 수 있습니까? 요약하면, 열 그룹을 사용하여 생성 된 열에 대한

, 나는 일부 데이터베이스 field.value 조건에 따라 보고서에서 특정 열을 필터링하거나 숨기는 방법을

편집 : 보고서 디자이너보기 enter image description here

+1

몇 가지 질문이 있습니다. 이러한 열이 원하지 않으면이 열이지나 가지 않아야하므로 SQL은 무엇입니까? 또한 하나의 릴레이 유형에 대해서만이 보고서가 있습니까? – glh

+0

생성 된 SQL 쿼리는 관련 테이블의 열에 대해 JOIN을가집니다. Relay_Type에 대한 DATASET 쿼리에 WHERE 절을 추가 했으므로 관련 열만 생성됩니다. 이제는 일부 열을 숨기기위한 가시성 표현을 추가 할 필요가 없습니다. 어쨌든, 생성 된 열에 대한 가시성은 열을 숨기지 않지만 열의 빈 공백으로 바꿉니다. 그래서 나에게 전혀 유용하지 않습니다. 나는 내가 이것을 확인할 수 있었던 몇 개의 블로그를 가로 질러왔다. 따라서 SQL 자체에서 처리해야한다는 주석에 대해 절대적으로 맞습니다. 귀하의 의견을 유용하다고 표시 할 것입니다. – Jatin

답변

0

데이터 세트 쿼리를 직접 수정하기위한 @ glh의 제안에 영감을 받아 특정 Relay_Type과 관련된 레코드 (내 경우에는 열)를 생성 할 수있었습니다. 질의에서, 단지 특정 Relay_Type의 상세 레코드를로드하는 SQL WHERE 절을 추가해야했습니다. 이 방법을 사용하면 특정 Relay_Type과 관련된 유일한 열이 데이터 집합의 쿼리에 의해 생성됩니다. 따라서 열을 숨기려면 가시성 표현을 변경할 필요가 없습니다. 실제로 가시성 식은 열을 숨기지 않았으며 보고서에서 공백을 두는 것만 큼 "비워 두었습니다". 그래서 SQL을 수정하는 것이 내 경우에 더 좋은 선택 인 것 같다.

Nirvan.

2

열 가시성을 표현 기반으로 설정해 보셨습니까? 다른 릴레이/열 조합에 필요한

=IIf(Fields!RelayType.Value = "Relay1", false, true) 

업데이트 :

enter image description here

enter image description here는 같은 식으로 설정.

+0

사실, 가능하다고 생각하지 않습니다. 열은 "열 그룹"을 기반으로 동적으로 생성되며 보고서 디자인에서 생성 된 열에 대한 개별 액세스 권한이 없습니다. 내 질문에 게시 된 이미지를 볼 경우 첫 번째 세 개의 열은 가시성과 같은 속성을 실제로 설정할 수있는 유일한 것입니다. "Relays_Name"열 너머의 모든 열은 Contacts 테이블 데이터를 기반으로 동적으로 생성됩니다. – Jatin

+0

위의 원래 질문에서 내가 추가 한 디자이너보기 이미지를 참조하십시오. 그게 내 질문을 더 분명하게 해줄거야. – Jatin

+0

@Nirvan 동적 컬럼으로 작업 한 이후로 시간이 지났지 만 동적으로 생성되었는지는 중요하지 않다고 생각합니다. 보고서 작성 도구에 하나의 열이 있습니다. Ian의 솔루션을 적용하면 해당 그룹의 모든 열에 유효합니다. 시험 했니? – eestein

1

SQL에서 조인을 통해 테이블을 연결하는 것이 가장 좋습니다. 이렇게하면 데이터 세트에 채워지는 추가 열이 제거됩니다.

+0

네, SQL을 작성하는 대신 작성하는 것이 좋은 방법 일 것이라고 생각합니다. 실제로 raw SQL을 많이 사용했던 IBM MAINFRAME 경험이 있었고 여전히 숙취가있었습니다. 그러나 이제는이 Object 시대에 개발자가 강력한 SQL 기반을 가지고 있는지 의심 스럽습니다. 그래서 일부는별로 선택하지 않습니다. 감사합니다 – Jatin

+0

이해, SQL 에서이 작업을 수행하기위한 추가 benifit는 보고서가 모든 데이터를 검색하고, 일부를 잘라내어, 필요에 따라 열을 표시하고 열을 숨겨야하므로 성능입니다. – glh