반응형


BkColor : iif(rowlevel>0,'mintcream','default')

 

누계, 소계만 mintcream색상으로 하고 싶은 경우에는 사용

(누계, 소계는 logical rowType이기 때문에)

 

Cf. Lowlevel의 의미

Record RowType Logical이 아닌 경우 - RowLevel = 0

Record RowType Logical인 경우 RowLevel > 0 (1이상)

(RowLevel 값은 다중의 GroupKey가 적용되어 만들어진, 통계 등의 계산결과를 가지고 있는 Record)

 

SubSumExpr : decode(Rowlevel, 1, FP_PLAN.sum, 2, pivotsum('FP_PLAN', currow, 0, pivotindex+1))

 

Cf. PivotSum(strColID,nPivotRow[,nStart[,nCnt]])

strColID: Sum값을 구할 Column ID.

nPivotRow Integer:  Sum값을 구할 Pivot Row Index.

nStart :시작 Pivot Column Index. Default Value = 0

nCnt  :  Pivot Column 개수. Defualt Value = Pivot ColCount

소계인 경우에 groupKey로 걸어준 계획 값의 합을, 누계인 경우 누적의 개념이므로 전 것과 자신의 것까지 구하는 것임

(pivotindex기본값이 0이므로, 0+1 즉 자신의 값 까지 구함을 의미)

이전소계 + 현누계 시,
for(var i=0; i<pivotIndex; i++)
{ pivotsum
}

추가) sub_sumtext : Group된 것 중 하나만 소계 보이고 다른 것들은 안보이게 하려면

subsumtext에 " "공란을 준다. (스페이스 바 한번 치기)

GroupKey잡으면 잡은 순서대로 level이 되고, 소계 누계 보이려면 소계 GroupKey되는 것과 동일하게 하나 더 생성한다.
예) decode(level1, '1', column2(소계), 2, casesum("row<=currow"), "column2")


반응형
반응형

피벗은 ROW ROW(Y)수만큼 동적 COLUMN(X축으로 만들기 위해서 사용한다.

(데이터베이스에서 ROW COLUMN으로 출력하는 것과 비슷)

 

피벗을 사용하려면 원본데이터셋과, 피벗용 데이터 셋 2개가 있어야 한다.

(Pivot Logical Dataset은 원본 Dataset으로부터 GroupKey,PivotKey를 가지고 PivotTable을 구성하는 Dataset)

 

피벗사용 설정

–1. DataObject : 피벗으로 만들고자 하는 원본 DataSet을 지정

-2. DatasetType: Pivot (Pivot은 데이터르르 가져올 DataSet을 DataObject에 담아주어야 함)

-3. GroupKey : Dataset에서 Group으로 묶을 Column ID을 지정 (Y축 column ID로 사용)

 Cf. . GroupKey 속성: "," : GroupKey Level을 줌.

                        ":" : 두 개 이상의 Column을 하나의 GroupKey로 사용

: GroupKey = "ColumnID1,ColumnID2" 설정시 Record들을 ColumnID1으로 먼저 

       Groupping Column1으로 Groupping Record들에 대해서 ColumnID2로 다시

       Groupping.

   주의: ","  앞뒤에는 공백이 없어야 함.

(BIZ_FG별로 소계, 누계 사용이 필요하여 BIZ_FG, BIZ_FG2(BIZ_FG와 동일값)를 지정)

-3. PivotKey : Logical Dataset PivotTable을 구성하기 위한 PivotColumn을 지정

, 동적으로 늘어날 Column을 지정해 주는 것.(복수개 지정시에는 ","사용)

위 그림과 같은 경우 동적인 년월, 보고일자, 주차의 row column으로 만드는 것이다.

(GroupKey PivotTable을 구성하는 Y ColumnID, PivotKey X ColumnID로 사용.)

 

결과화면

반응형
반응형

원인: 나누기에서 분모가 0이어서 발생하는 문제.

(원래는 분모가 0이 안되게 해야하지만 데이터 정합성과 기타 문제로 인하여 분모가 0될 수있음.)

해결방법: 분모가 0이 되는 경우 DECODE(분모, 0, NULL, 분모)로 사용한다.
사용예:
SELECT NVL(분자 / DECODE(분모, 0, NULL, 분모), 0) FROM 테이블;
분모가 0인경우 NULL로 나누기에 오류를 피할 수 있다. 

참고사이트: http://dev4u.tistory.com/211

반응형

+ Recent posts