You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by bi...@apache.org on 2017/02/04 04:43:51 UTC
[22/47] kylin git commit: KYLIN 2396 GUI for Percentile pre
aggregation implementation
KYLIN 2396 GUI for Percentile pre aggregation implementation
Signed-off-by: lidongsjtu <li...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/28673a81
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/28673a81
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/28673a81
Branch: refs/heads/KYLIN-2361
Commit: 28673a8126ec2ecff8c125c0ecf887ce2565362c
Parents: 6aaf667
Author: chenzhx <34...@qq.com>
Authored: Fri Jan 20 18:00:20 2017 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Mon Jan 23 11:32:46 2017 +0800
----------------------------------------------------------------------
webapp/app/js/controllers/cubeMeasures.js | 18 +++++++
webapp/app/js/model/cubeConfig.js | 2 +-
webapp/app/partials/cubeDesigner/measures.html | 54 ++++++++-------------
3 files changed, 40 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/28673a81/webapp/app/js/controllers/cubeMeasures.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeMeasures.js b/webapp/app/js/controllers/cubeMeasures.js
index c8548ce..7c155fe 100644
--- a/webapp/app/js/controllers/cubeMeasures.js
+++ b/webapp/app/js/controllers/cubeMeasures.js
@@ -80,6 +80,7 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes
$scope.updateMeasureStatus.editIndex = index;
}
$scope.nextParameters = [];
+ $scope.measureParamValueColumn=$scope.getCommonMetricColumns();
$scope.newMeasure = (!!measure)? jQuery.extend(true, {},measure):CubeDescModel.createMeasure();
if(!!measure && measure.function.parameter.next_parameter){
$scope.nextPara.value = measure.function.parameter.next_parameter.value;
@@ -93,6 +94,7 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes
}else{
$scope.newMeasure.showDim=false;
}
+ $scope.measureParamValueUpdate();
if($scope.newMeasure.function.expression=="TOP_N"){
$scope.convertedColumns=[];
if($scope.newMeasure.function.configuration==null){
@@ -326,6 +328,19 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes
return false;
}
}
+
+ $scope.measureParamValueUpdate = function(){
+ if($scope.newMeasure.function.expression !== 'EXTENDED_COLUMN' && $scope.newMeasure.showDim==true){
+ $scope.measureParamValueColumn=$scope.getAllModelDimMeasureColumns();
+ }
+ if($scope.newMeasure.function.expression !== 'EXTENDED_COLUMN' && $scope.newMeasure.showDim==false){
+ $scope.measureParamValueColumn=$scope.getCommonMetricColumns();
+ }
+ if($scope.newMeasure.function.expression == 'EXTENDED_COLUMN'){
+ $scope.measureParamValueColumn=$scope.getExtendedHostColumn();
+ }
+ }
+
//map right return type for param
$scope.measureReturnTypeUpdate = function(){
@@ -393,6 +408,9 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes
case "COUNT":
$scope.newMeasure.function.returntype = "bigint";
break;
+ case "PERCENTILE":
+ $scope.newMeasure.function.returntype = "percentile(100)";
+ break;
default:
$scope.newMeasure.function.returntype = "";
break;
http://git-wip-us.apache.org/repos/asf/kylin/blob/28673a81/webapp/app/js/model/cubeConfig.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/model/cubeConfig.js b/webapp/app/js/model/cubeConfig.js
index 87413dc..35af1fc 100644
--- a/webapp/app/js/model/cubeConfig.js
+++ b/webapp/app/js/model/cubeConfig.js
@@ -20,7 +20,7 @@ KylinApp.constant('cubeConfig', {
//~ Define metadata & class
measureParamType: ['column', 'constant'],
- measureExpressions: ['SUM', 'MIN', 'MAX', 'COUNT', 'COUNT_DISTINCT',"TOP_N", 'RAW','EXTENDED_COLUMN'],
+ measureExpressions: ['SUM', 'MIN', 'MAX', 'COUNT', 'COUNT_DISTINCT',"TOP_N", 'RAW','EXTENDED_COLUMN','PERCENTILE'],
dimensionDataTypes: ["string", "tinyint", "int", "bigint", "date"],
cubePartitionTypes: ['APPEND'],
joinTypes: [
http://git-wip-us.apache.org/repos/asf/kylin/blob/28673a81/webapp/app/partials/cubeDesigner/measures.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubeDesigner/measures.html b/webapp/app/partials/cubeDesigner/measures.html
index 4d2d8ab..4a48843 100755
--- a/webapp/app/partials/cubeDesigner/measures.html
+++ b/webapp/app/partials/cubeDesigner/measures.html
@@ -104,7 +104,7 @@
<div class="col-xs-12 col-sm-6">
<select class="form-control"
ng-init="newMeasure.function.expression = (!!newMeasure.function.expression)?newMeasure.function.expression:cubeConfig.dftSelections.measureExpression" chosen ng-model="newMeasure.function.expression" required
- ng-change="measureReturnTypeUpdate();"
+ ng-change="measureReturnTypeUpdate();measureParamValueUpdate();"
ng-options="me as me for me in cubeConfig.measureExpressions">
<option value=""></option>
</select>
@@ -144,35 +144,23 @@
<div class="col-xs-12 col-sm-6">
- <span class="font-color-default"
- ng-if="newMeasure.function.parameter.type == 'constant'"
- ng-init="newMeasure.function.parameter.value = 1"><b> 1</b></span>
- <!--!COUNT_DISTINCT-->
-
- <select class="form-control" chosen
- ng-if="newMeasure.function.parameter.type == 'column' && newMeasure.function.expression !== 'EXTENDED_COLUMN' && newMeasure.showDim==true "
- ng-model="newMeasure.function.parameter.value" required
- ng-change="measureReturnTypeUpdate();"
- ng-options="column as column for column in getAllModelDimMeasureColumns(newMeasure)" >
- <option value="">-- Select a Column --</option>
- </select>
-
+ <span class="font-color-default"
+ ng-if="newMeasure.function.parameter.type == 'constant'"
+ ng-init="newMeasure.function.parameter.value = 1">
+ <b> 1</b>
+ </span>
+ <!--!COUNT_DISTINCT-->
<select class="form-control" chosen
- ng-if="newMeasure.function.parameter.type == 'column' && newMeasure.function.expression !== 'EXTENDED_COLUMN' && newMeasure.showDim==false "
- ng-model="newMeasure.function.parameter.value" required
- ng-change="measureReturnTypeUpdate();"
- ng-options="column as column for column in getCommonMetricColumns(newMeasure)" >
- <option value="">-- Select a Column --</option>
- </select>
- <select class="form-control" chosen
- ng-if="newMeasure.function.expression == 'EXTENDED_COLUMN'"
- ng-model="newMeasure.function.parameter.value" required
- ng-change="measureReturnTypeUpdate();"
- ng-options="column as column for column in getExtendedHostColumn()" >
- <option value="">-- Select a Column --</option>
- </select>
- </div>
- <label ng-if="newMeasure.function.parameter.type == 'column'&& newMeasure.function.expression !== 'EXTENDED_COLUMN'"><input type="checkbox" ng-model="newMeasure.showDim" /> Also Show Dimensions</label>
+ ng-if="newMeasure.function.parameter.type == 'column'"
+ ng-model="newMeasure.function.parameter.value" required
+ ng-change="measureReturnTypeUpdate();"
+ ng-options="column as column for column in measureParamValueColumn" >
+ <option value="">{{dataKylin.cube.cubeMSParamValueSelect}}</option>
+ </select>
+ </div>
+ <label ng-if="newMeasure.function.parameter.type == 'column'&& newMeasure.function.expression !== 'EXTENDED_COLUMN'">
+ <input type="checkbox" ng-model="newMeasure.showDim" ng-change="measureParamValueUpdate();" /> Also Show Dimensions
+ </label>
</div>
</div>
@@ -221,10 +209,10 @@
ng-init="newMeasure.function.returntype=newMeasure.function.returntype?newMeasure.function.returntype:'extendedcolumn(100)'"
ng-model="newMeasure.function.returntype" required />
- <span class="font-color-default"
- ng-if="newMeasure.function.expression != 'COUNT_DISTINCT' && newMeasure.function.expression != 'TOP_N' && newMeasure.function.expression != 'EXTENDED_COLUMN' "
- ><b> {{newMeasure.function.returntype | uppercase}}</b>
- </span>
+ <span class="font-color-default"
+ ng-if="newMeasure.function.expression != 'COUNT_DISTINCT' && newMeasure.function.expression != 'TOP_N' && newMeasure.function.expression != 'EXTENDED_COLUMN' ">
+ <b> {{newMeasure.function.returntype | uppercase}}</b>
+ </span>
</div>
</div>
</div>