2012-09-13 6 views
2

내 응용 프로그램은 SSRS를 사용하여 직원을위한 지급을 생성합니다. Payslip 보고서는 5 개의 열이있는 테이블 릭스로 구성됩니다. 5 개 중에 "단위"이고 다른 하나는 "송장 값"이라고하는 열이 있습니다.SSRS. 행 그룹 값을 기반으로 열 숨기기

보고서에는 여러 행 그룹화 수준이 있지만이 질문에 대한 유일한 중요한 것은 Payslip Number Row Grouping "RG_SlipNum"입니다. 각 "RG_SlipNum"RowGroup 다음에 페이지 나누기가 있습니다.

사용자가 Payslips를 인쇄하려는 경우 출력 할 결과 집합을 필터링하는 최대 5 개의 매개 변수를 선택적으로 제공 할 수 있습니다.

직원은 납품 단위 수 * 요금 (단위 기준) 또는 납품에 대한 송장 금액 (송장 기반)의 백분율에 따라 지불 할 수 있습니다 (지나치게 단순화되었지만 잘하면 드리프트가 발생합니다).

직원이 단위 기반 인 경우 단위 열을 표시하고 "송장 값"열을 숨기를 원합니다. 송장 기반 인 경우 두 열을 모두 표시해야합니다.

내 데이터 집합에는 위의 논리에 따라 열을 표시할지 숨길 지 여부를 나타내는 비트 필드가 있습니다. 현재 rowGroup 내의 모든 기본 행에 대해 1 또는 0이됩니다. "Invoice Value"열의 Column Visibility 식에서 First (,) 함수를 사용하려고했습니다. 그러나, RowGroup 이름을 사용하여 현재 Payslip Rowgroup 첫 번째 함수의 범위를 제한 할 때마다 다음 오류가 발생합니다.

"tablix 'X'의 숨겨진 표현식에는 집계 함수에 유효하지 않은 범위 매개 변수가 있습니다. 범위 매개 변수는 포함 된 그룹의 이름, 포함하는 데이터 영역의 이름 또는 데이터 세트의 이름입니다. "

그래서, 내 질문 (들)

당신은 첫 번째() 함수의 범위 인수로 RowGroup 이름을 정의 할 수 ?

그렇지 않은 경우 데이터 집합/RDL을 완전히 다시 수행하지 않고이 작업을 수행하는 가장 좋은 방법은 무엇입니까? (SSRS2008 사용)

답변

1

포럼 질문을 게시 한 직후에 왜 그 이유가 무엇입니까 (몇 가지 해결 방법)?

누군가는 이것을 보더라도 여전히 (더 나은) 답변을 원하지만 tablix에 열을 표시할지 여부를 결정하는 비트 필드의 값으로 셀을 설정했습니다. 그런 다음 열 가시성 식을 변경하여 (ReportItems! textboxname.Value를 사용하여) 셀 값을 확인하고 작동하는지 확인합니다. payslips를 스크롤하면 열 가시성이 적절하게 변경됩니다.

+0

브라우저에서 볼 때 payslip을 인쇄 할 때 인쇄물이 화면에 표시된 것과 다릅니다. (즉, 컬럼 가시성이 상이 함) – psiberman

관련 문제