2014-07-24 3 views
0

데이터를 표시하기 위해 매개 변수에 연결된 그룹 필터를 사용하는 보고서 작성기 3.0 보고서가 있습니다. 표시되는 행에서만이 열을 어떻게 합계합니까?필터링 된 행의 합계 값

내가 Fields!PY_Dollars.Value, Fields!CY_Dollars.Value 합계 또한 PY-CY 및 PY 값 0 또는 널 (NULL) 경우 (2)의 두

사이 %의 차이를 계산하는 데 필요한, I는 PY 값 합계에 필요하지 않거나 비교 행을하십시오. ! 내가 매개 변수의 경우 그 숨어있어 Store.Value = 1

그룹 필터를 [부울 식은 = TRUE] :

=(
    (Parameters!Store.Value=2) 
    OR 
    (Parameters!Store.Value=1 AND (IsNothing(SUM(Fields!PY_Dollars.Value)) OR (SUM(Fields!PY_Dollars.Value)=0))) 
    OR 
    (Parameters!Store.Value=0 AND SUM(Fields!PY_Dollars.Value)>0) 
) 

답변

0

OK 나는이 작업을 수행하는 방법을 알아 냈 확신 해요. CY 달러 값과 PY 달러 값의 합계를 보고서를 작성하는 SQL 쿼리로 이동했습니다. 동일한 필터 그룹을 사용하여 그룹화를 동일하게 유지했습니다. 사소한 변경 사항은 다음과 같습니다.

=(
    (Parameters!Store.Value=2) 
    OR 
    (Parameters!Store.Value=1 AND (IsNothing(Fields!Sum_PY_Dollars.Value) OR (Fields!Sum_PY_Dollars.Value=0))) 
    OR 
    (Parameters!Store.Value=0 AND Fields!Sum_PY_Dollars.Value>0) 
) 

올바른 CY 값을 보고서에 표시하려면 해당 식에 Switch() 함수가 필요합니다.

=SUM(
    Switch(
     (Parameters!Store.Value=2), (Fields!Sum_CY_Dollars.Value) , 
     (Parameters!Store.Value=1 AND (IsNothing(Fields!Sum_PY_Dollars.Value) OR Fields!Sum_PY_Dollars.Value=0)), (Fields!Sum_CY_Dollars.Value) , 
     (Parameters!Store.Value=0 AND Fields!Sum_PY_Dollars.Value>0), (Fields!Sum_CY_Dollars.Value) 
     ) 
    ) 

이것은 기본적으로 필터가 보여주고있는 것만을 합한 것입니다. PY는 존재하는 경우에만 합산하면되므로