new OLAPCube(name)
OLAPCube는 OLAP Cube 기능을 가지는 클래스입니다.
Name | Type | Description |
---|---|---|
name |
string |
OLAP Cube의 이름. |
- Since:
- 4.0
Example
레이아웃은 다음과 같은 형식으로 작성됩니다.
<OLAPCube dataProvider="{$gridData}"
rowFields="[{\'dimensionName\':\'ProductDim\', \'attributeName\':\'Product\'}]"
columnFields="[{\'dimensionName\':\'QuarterDim\', \'attributeName\':\'Quarter\'}]">
<OLAPDimension name="ProductDim">
<OLAPAttribute name="Product" dataField="product"/>
<OLAPHierarchy name="ProductHier" hasAll="true">
<OLAPLevel attributeName="Product"/>
</OLAPHierarchy>
</OLAPDimension>
<OLAPDimension name="QuarterDim">
<OLAPAttribute name="Quarter" dataField="quarter"/>
<OLAPHierarchy name="QuarterHier" hasAll="true">
<OLAPLevel attributeName="Quarter"/>
</OLAPHierarchy>
</OLAPDimension>
<OLAPMeasure name="Revenue" dataField="revenue" aggregator="SUM"/>
</OLAPCube>
Members
-
columnFieldsArray
-
큐브가 완성된 후 질의할 열 축의 필드들을 설정합니다.
질의 필드는 dimension명과 dimension안의 attributeName 또는 members 배열로 이루어진 질의세트의 배열로 이루어 집니다.
members에 필드의 실제 데이타를 넣어줄 경우 필터링되어 해당 데이타만 처리하게 됩니다.
여러 질의 필드를 설정할 경우 질의 필드들은 join형식으로 결합됩니다. 만일 union형식으로 처리하길 원하면 이 속성을 object로 처리하고 아래 예시와 같이 crossjoin 속성을 false로 처리합니다. (기본값 true)
질의 필드에 attributeName으로 설정하고 All 항목을 모두 포함하여 설정할 경우에는 useMembers 속성을 true로 처리하도록 합니다. (기본값 false)
질의 필드순서데로 표현 하려면 hierarchize 속성을 false로 처리하도록 합니다. (기본값 false)Example
여러 설정 예시는 다음과 같습니다.
columnFields="[{'dimensionName':'TimeDim', 'attributeName':'Year'}, {'dimensionName':'TimeDim', 'attributeName':'Quarter'}]"
columnFields="[{'dimensionName':'TimeDim', 'members':['2016','2017']}]"
columnFields="{crossjoin:false, sets:[{'dimensionName':'TimeDim', 'attributeName':'Year'}], useMembers:true, hierarchize:true}" -
dataProviderobject
-
OLAP cube에서 사용할 flat data를 지정합니다.
이 속성을 지정한 후에는 큐브를 초기화 시켜주기 위해refresh()
함수를 실행시켜줘야 합니다.- See:
-
- 자바스크립트에서 사용할 때는 getter, setter함수를 사용합니다. - getDataProvider(), setDataProvider(value)
-
dimensionsobject
-
큐브에 설정된 모든 차원(dimension)의 리스트를 지정합니다.
- See:
-
- 자바스크립트에서 사용할 때는 getter, setter함수를 사용합니다. - getDimensions(), setDimensions(value)
-
elementsArray
-
전달된 배열을 처리하면서
dimensions
와measures
속성들을 초기화하고 설정합니다.
dimensions는 OLAPDimension의 객체를, measures는 OLAPMeasure의 객체를 나타냅니다.dimensions와 measures를 한개의 배열로 설정하기 위해 이 속성을 사용합니다.
쓰기 전용 속성입니다.- See:
-
- 자바스크립트에서 사용할 때는 setter함수를 사용합니다. - setElements(value)
-
measureFieldsArray
-
큐브가 완성된 후 질의할 측정값 필드들을 설정합니다.
큐브에 OLAPMeasure 설정이 하나만 있으며 원하는 측정값일 경우에는 설정할 필요가 없으며 여러개를 집계할 경우에만 설정합니다.
질의 필드는 예시와 같이 measure명의 배열로 이루어집니다.Example
여러 설정 예시는 다음과 같습니다.
measureFields="[{'measureName':'Cost'}, {'measureName':'Revenue'}]">
-
measuresArray
-
OLAP cube에 OLAPMeasure 객체의 리스트를 측정 요소로 설정합니다.
쓰기 전용 속성입니다.- See:
-
- 자바스크립트에서 사용할 때는 setter함수를 사용합니다. - setMeasures(value)
-
namestring
-
OLAP cube의 이름.
- See:
-
- 자바스크립트에서 사용할 때는 getter, setter함수를 사용합니다. - getName(), setName(value)
-
rowFieldsArray object
-
큐브가 완성된 후 질의할 행 축의 필드들을 설정합니다.
질의 필드는 dimension명과 dimension안의 attributeName 또는 members 배열로 이루어진 질의세트의 배열로 이루어 집니다.
members에 필드의 실제 데이타를 넣어줄 경우 필터링되어 해당 데이타만 처리하게 됩니다.
여러 질의 필드를 설정할 경우 질의 필드들은 join형식으로 결합됩니다. 만일 union형식으로 처리하길 원하면 이 속성을 object로 처리하고 아래 예시와 같이 crossjoin 속성을 false로 처리합니다. (기본값 true)
질의 필드에 attributeName으로 설정하고 All 항목을 모두 포함하여 설정할 경우에는 useMembers 속성을 true로 처리하도록 합니다. (기본값 false)
질의 필드순서데로 표현 하려면 hierarchize 속성을 false로 처리하도록 합니다. (기본값 true)Example
여러 설정 예시는 다음과 같습니다.
rowFields="[{'dimensionName':'ProductDim', 'attributeName':'Product'}, {'dimensionName':'CustomerDim', 'attributeName':'Customer'}]"
rowFields="[{'dimensionName':'ProductDim', 'members':['prod1','prod2']}]"
rowFields="{crossjoin:false, sets:[{'dimensionName':'ProductDim', 'attributeName':'Product'}], useMembers:true, hierarchize:false}" -
slicerFieldsArray
-
큐브가 완성된 후 질의에 포함할 축이 아닌 필드들을 설정합니다.
보통 축이 아닌 필드에 대해 필터링을 수행할 경우에 사용하며, members 속성에 원하는 필드의 값을 넣어 수행하게 됩니다.Example
여러 설정 예시는 다음과 같습니다.
slicerFields="[{'dimensionName':'FactoryDim', 'members':['factory1','factory2']}]"
slicerFields="{crossjoin:false, sets:[{'dimensionName':'FactoryDim', 'members':['factory1','factory2']}]}"
Methods
-
addEventListener(type, listener)
-
OLAPCube내의 자체 이벤트에 대해 type에 선언된 이벤트가 발생할 경우 이벤트를 받을 수 있는 listener 함수를 등록합니다.
Name Type Description type
string 이벤트 종류를 표현하는 문자열
listener
function 이벤트 발생시 불려질 함수
-
cancelQuery(query)
-
실행을 위해 제출된 질의를 취소합니다.
Name Type Description query
OLAPQuery The query to abort.
-
cancelRefresh()
-
현재 실행되고 있는 refresh명령을 취소합니다.
-
findDimension(name){OLAPDimension}
-
OLAP cube에서 전달된 이름의 dimension 객체를 찾아 반환합니다.
Name Type Description name
string 찾고자 하는 dimension명.
Returns:
Type Description OLAPDimension 찾아진 OLAPDimension 객체 - 없으면 null. -
refresh()
-
data provider에 지정된 데이터를 가지고 초기화를 진행합니다.
큐브에 설정을 한 이후에는 반드시 이 명령을 실행켜야만 큐브가 만들어집니다.데이터에 의한 초기화가 진행될 때는
progress
이벤트가 발생하며, 질의를 실행시킬 준비가 되면complete
이벤트가 발생합니다.
- See:
-
- CubeEvent
-
removeEventListener(type, listener)
-
OLAPCube내의 자체 이벤트에 대해 type에 선언된 이벤트에 연결된 listener 함수를 제거합니다.
Name Type Description type
string 이벤트 종류를 표현하는 문자열
listener
function 이벤트 발생시 불려질 함수
-
toString(){string}
-
큐브의 이름을 반환합니다.
Returns:
Type Description string 큐브의 이름.
Events
-
complete
-
큐브가 만들어지고 질의를 할 수 있는 상태가 되었을 때 발생합니다.
Type:
- Event
Properties:
Name Type Description message
string 진행상황에 대한 설명.
progress
number 계산 완료된 요소의 수.
total
number 계산해야 할 전체 요소의 수.
-
progress
-
refresh()
명령에 의해 큐브가 생성될 때 지속적으로 발생합니다.Type:
- Event
Properties:
Name Type Description message
string 진행상황에 대한 설명.
progress
number 계산 완료된 요소의 수.
total
number 계산해야 할 전체 요소의 수.
-
queryProgress
-
execute()
명령에 의해 질의가 계산될 때 지속적으로 발생합니다.Type:
- Event
Properties:
Name Type Description message
string 진행상황에 대한 설명.
progress
number 계산 완료된 요소의 수.
total
number 계산해야 할 전체 요소의 수.