2012-06-08 2 views
0

SSRS 2008 R2를 사용하여 환자 정보를 문서화하는 표준을 준수하는지 확인하려고합니다. 예를 들어, PatientID의 그룹 헤더에는 =Not IsNothing(Fields!DATEOFBIRTH.Value)이 있습니다. 자, 저는 그것이 참으로 돌아 오는 환자의 수를 세고 싶습니다. 확실한 방법은SSRS의 그룹 머리글에서 표현 표기

=Sum(Iif(Not IsNothing(Fields!DATEOFBIRTH.Value) 
     , 1 
     , 0 
     ) 
    ) 

이다 (나는 환자 당 여러 줄을 가지고 있기 때문에 실제로는 작동하지 않지만, 순간 것을 신경 쓰지 않는다.) 문제는 내가 내 논리가 잘못 찾으면, 내가 가진 것입니다 두 곳에서 교정을하고 잊어 버리면 분명하지 않습니다. Crystal에서 그룹의 변경에 대한 평가, 또는 WhilePrintingRecords;의 수동 집계를 사용하여 두 위치에서 T/F 결과를 반환하는 수식을 사용했습니다. 이 작업을 수행하는 일반적으로 인정되는 SSRS 방법은 무엇입니까? 감사.

답변

2

논리를 중앙화하려면 보고서에서 사용자 지정 코드를 사용하거나 사용자 지정 어셈블리를 만들 수 있습니다. 사용자 정의 코드를 사용하면 변경이 필요한 경우 동일한 논리를 사용하는 모든 보고서를 업데이트해야하지만 보고서에 추가하는 것은 간단합니다. 맞춤 어셈블리를 사용하면 클래스 라이브러리를 만들어 컴파일하고 컴퓨터에 코드를 추가해야 BIDS가이를 사용할 수 있으며 모든 개발자의 컴퓨터에 적용 할 수 있으며 보고서 서버에도 코드를 추가 할 수 있습니다. 사용자 지정 어셈블리의 이점은 논리를 저장할 때 모든 보고서가 자동으로 업데이트되도록 논리를 저장하는 한 곳 (DLL 배포 제외)이 있다는 것입니다. 이 링크는 귀하를위한 출발점이며 다음 두 옵션에 대한 자세한 정보 링크를 제공합니다 : http://msdn.microsoft.com/en-us/library/ms155798(v=sql.100).aspx.