You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/12/20 11:26:21 UTC
[25/50] [abbrv] kylin git commit: KYLIN 1875 update cube designer
KYLIN 1875 update cube designer
Signed-off-by: zhongjian <ji...@163.com>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/a9230473
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/a9230473
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/a9230473
Branch: refs/heads/master-hbase1.x
Commit: a9230473e3c3bad774f930ad90f4479dcbe34fa0
Parents: 076fbcf
Author: chenzhx <34...@qq.com>
Authored: Tue Dec 13 15:32:54 2016 +0800
Committer: Li Yang <li...@apache.org>
Committed: Thu Dec 15 18:57:36 2016 +0800
----------------------------------------------------------------------
webapp/app/js/controllers/cubeAdvanceSetting.js | 5 --
webapp/app/js/controllers/cubeDimensions.js | 75 ++++++++++----------
webapp/app/js/controllers/cubeEdit.js | 60 +++++++++-------
webapp/app/js/controllers/cubeMeasures.js | 21 +-----
webapp/app/js/controllers/modelDataModel.js | 11 ++-
.../cubeDesigner/advanced_settings.html | 3 +-
.../app/partials/cubeDesigner/dimensions.html | 46 ++++--------
webapp/app/partials/cubeDesigner/measures.html | 7 +-
8 files changed, 104 insertions(+), 124 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/js/controllers/cubeAdvanceSetting.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeAdvanceSetting.js b/webapp/app/js/controllers/cubeAdvanceSetting.js
index 8192419..e557afa 100644
--- a/webapp/app/js/controllers/cubeAdvanceSetting.js
+++ b/webapp/app/js/controllers/cubeAdvanceSetting.js
@@ -38,12 +38,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
//rowkey
$scope.convertedRowkeys = [];
angular.forEach($scope.cubeMetaFrame.rowkey.rowkey_columns,function(item){
- //var _isDictionaries = item.encoding === "dict"?"true":"false";
- //var version=$scope.getTypeVersion(encoding);
item.encoding=$scope.removeVersion(item.encoding);
- //var _isFixedLength = item.encoding.substring(0,12) === "fixed_length"?"true":"false";//fixed_length:12
- //var _isIntegerLength = item.encoding.substring(0,7) === "integer"?"true":"false";
- //var _isIntLength = item.encoding.substring(0,3) === "int"?"true":"false";
var _encoding = item.encoding;
var _valueLength ;
var baseKey=item.encoding.replace(/:\d+/,'');
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/js/controllers/cubeDimensions.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeDimensions.js b/webapp/app/js/controllers/cubeDimensions.js
index 7cb850b..e2787a5 100644
--- a/webapp/app/js/controllers/cubeDimensions.js
+++ b/webapp/app/js/controllers/cubeDimensions.js
@@ -18,7 +18,7 @@
'use strict';
-KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cubesManager,SweetAlert) {
+KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cubesManager,SweetAlert, VdmUtil) {
$scope.cubeManager = cubesManager;
// Available columns list derived from cube data model.
@@ -27,10 +27,6 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
// Columns selected and disabled status bound to UI, group by table.
$scope.selectedColumns = {};
- // Available tables cache: 1st is the fact table, next are lookup tables.
- $scope.availableTables = [];
-
-
/**
* Helper func to get columns that dimensions based on, three cases:
* 1. normal dimension: column array.
@@ -40,17 +36,10 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
var dimCols = function (dim) {
var referredCols = [];
- // Case 3.
if (dim.derived && dim.derived.length) {
referredCols = referredCols.concat(dim.derived);
}
- // Case 2.
- //if (dim.hierarchy && dim.column.length) {
- // referredCols = referredCols.concat(dim.column);
- //}
-
- // Case 1.
if (!dim.derived && dim.column) {
referredCols.push(dim.column);
}
@@ -60,52 +49,66 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
// Dump available columns plus column table name, whether is from lookup table.
$scope.initColumns = function () {
- var factTable = $scope.metaModel.model.fact_table;
+ var rootFactTable = VdmUtil.removeNameSpace($scope.metaModel.model.fact_table);
+
+ if($scope.aliasName.length==0){
+ $scope.aliasName.push(rootFactTable);
+ $scope.aliasTableMap[rootFactTable]=$scope.metaModel.model.fact_table;
+ $scope.tableAliasMap[$scope.metaModel.model.fact_table]=rootFactTable;
+ angular.forEach($scope.metaModel.model.lookups,function(joinTable){
+ if(!joinTable.alias){
+ joinTable.alias=VdmUtil.removeNameSpace(joinTable.table);
+ }
+ $scope.aliasTableMap[joinTable.alias]=joinTable.table;
+ $scope.tableAliasMap[joinTable.table]=joinTable.alias;
+ $scope.aliasName.push(joinTable.alias);
+ });
+ }
// At first dump the columns of fact table.
-// var cols = $scope.getColumnsByTable(factTable);
- var cols = $scope.getDimColumnsByTable(factTable);
+
+ var cols = $scope.getDimColumnsByAlias(rootFactTable);
// Initialize selected available.
var factSelectAvailable = {};
for (var i = 0; i < cols.length; i++) {
- cols[i].table = factTable;
- cols[i].isLookup = false;
+ cols[i].table = rootFactTable;
// Default not selected and not disabled.
factSelectAvailable[cols[i].name] = {name:cols[i].name ,selected: false};
}
- $scope.availableColumns[factTable] = cols;
+ $scope.availableColumns[rootFactTable] = cols;
factSelectAvailable.all=false;
- $scope.selectedColumns[factTable] = factSelectAvailable;
- $scope.availableTables.push(factTable);
-
+ $scope.selectedColumns[rootFactTable] = factSelectAvailable;
+// $scope.availableTables.push(rootFactTable);
+ $scope.availableFactTables.push(rootFactTable);
// Then dump each lookup tables.
var lookups = $scope.metaModel.model.lookups;
for (var j = 0; j < lookups.length; j++) {
- var cols2 = $scope.getDimColumnsByTable(lookups[j].table);
+ if(lookups[j].kind=="FACT"){
+ $scope.availableFactTables.push(lookups[j].alias);
+ }else{
+ $scope.availableLookupTables.push(lookups[j].alias);
+ }
+ var cols2 = $scope.getDimColumnsByAlias(lookups[j].alias);
// Initialize selected available.
var lookupSelectAvailable = {};
for (var k = 0; k < cols2.length; k++) {
- cols2[k].table = lookups[j].table;
- cols2[k].isLookup = true;
+ cols2[k].table = lookups[j].alias;
// Default not selected and not disabled.
lookupSelectAvailable[cols2[k].name] = {name:cols2[k].name,selected: false};
}
- $scope.availableColumns[lookups[j].table] = cols2;
+ $scope.availableColumns[lookups[j].alias] = cols2;
lookupSelectAvailable.all=false;
- $scope.selectedColumns[lookups[j].table] = lookupSelectAvailable;
- if($scope.availableTables.indexOf(lookups[j].table)==-1){
- $scope.availableTables.push(lookups[j].table);
- }
+ $scope.selectedColumns[lookups[j].alias] = lookupSelectAvailable;
}
};
@@ -178,10 +181,6 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
types.push('derived');
}
- //if (dim.hierarchy && dim.column.length) {
- // types.push('hierarchy');
- //}
-
if (!types.length) {
types.push('normal');
}
@@ -259,7 +258,6 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
errorInfo+="\n"+item;
});
if(errors.length){
-// SweetAlert.swal('Warning!', errorInfo, '');
SweetAlert.swal('', errorInfo, 'warning');
return false;
}else{
@@ -384,7 +382,7 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
var selectedCols = $scope.getSelectedCols();
dimList=[];
angular.forEach(selectedCols, function (cols, table) {
- if ($scope.metaModel.model.fact_table == table) {
+ if ($scope.availableFactTables.indexOf(table)!=-1) {
// Fact table: for each selected column, create one normal dimension.
for (var i = 0; i < cols.length; i++) {
dimList.push(Dimension(cols[i].name, table, [cols[i].col], 'normal'));
@@ -404,8 +402,8 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
};
- $scope.autoChange= function(table,name){
- if($scope.metaModel.model.fact_table==table){
+ $scope.autoChange = function(table,name){
+ if($scope.availableFactTables.indexOf(table)!=-1){
if($scope.selectedColumns[table][name].selected==false){
$scope.selectedColumns[table].all=false;
}else{
@@ -437,8 +435,9 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub
}
}
}
+
$scope.autoChangeAll= function(table){
- if($scope.metaModel.model.fact_table==table){
+ if($scope.availableFactTables.indexOf(table)!=-1){
if($scope.selectedColumns[table].all==true){
angular.forEach($scope.selectedColumns[table],function(col){
if(typeof col==="object"){
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/js/controllers/cubeEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js
index b901e48..d58f08f 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -22,6 +22,11 @@
KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $location, $templateCache, $interpolate, MessageService, TableService, CubeDescService, CubeService, loadingRequest, SweetAlert, $log, cubeConfig, CubeDescModel, MetaModel, TableModel, ModelDescService, modelsManager, cubesManager, ProjectModel, StreamingModel, StreamingService,VdmUtil) {
$scope.cubeConfig = cubeConfig;
$scope.metaModel = {};
+ $scope.tableAliasMap={};
+ $scope.aliasTableMap={};
+ $scope.aliasName=[];
+ $scope.availableFactTables = [];
+ $scope.availableLookupTables = [];
$scope.modelsManager = modelsManager;
//add or edit ?
@@ -112,7 +117,15 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
}
return filterEncoding;
}
-
+ $scope.getColumnsByAlias = function (alias) {
+ var temp = [];
+ angular.forEach(TableModel.selectProjectTables, function (table) {
+ if (table.name == $scope.aliasTableMap[alias]) {
+ temp = table.columns;
+ }
+ });
+ return temp;
+ };
$scope.getColumnsByTable = function (tableName) {
var temp = [];
angular.forEach(TableModel.selectProjectTables, function (table) {
@@ -124,13 +137,13 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
};
//get columns from model
- $scope.getDimColumnsByTable = function (tableName) {
- if (!tableName) {
+ $scope.getDimColumnsByAlias = function (alias) {
+ if (!alias) {
return [];
}
- var tableColumns = $scope.getColumnsByTable(tableName);
+ var tableColumns = $scope.getColumnsByAlias(alias);
var tableDim = _.find($scope.metaModel.model.dimensions, function (dimension) {
- return dimension.table == tableName
+ return dimension.table == alias
});
if(!tableDim){
return [];
@@ -169,17 +182,18 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
$scope.getAllModelDimMeasureColumns = function () {
var me_columns = [];
if($scope.metaModel.model.metrics){
- angular.forEach($scope.metaModel.model.metrics,function(metric,index){
+ angular.forEach($scope.metaModel.model.metrics,function(metric){
me_columns.push(metric);
})
}
- angular.forEach($scope.metaModel.model.dimensions,function(dimension,index){
+ angular.forEach($scope.metaModel.model.dimensions,function(dimension){
if(dimension.columns){
- me_columns = me_columns.concat(dimension.columns);
+ angular.forEach(dimension.columns,function(column){
+ me_columns = me_columns.concat(dimension.table+"."+column);
+ });
}
- })
-
+ });
return distinct_array(me_columns);
};
@@ -187,7 +201,9 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
var me_columns = [];
angular.forEach($scope.metaModel.model.dimensions,function(dimension,index){
if(dimension.columns){
- me_columns = me_columns.concat(dimension.columns);
+ angular.forEach(dimension.columns,function(column){
+ me_columns = me_columns.concat(dimension.table+"."+column);
+ });
}
})
@@ -209,11 +225,11 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
var me_columns = [];
//add cube dimension column for specific measure
angular.forEach($scope.cubeMetaFrame.dimensions,function(dimension,index){
- if($scope.metaModel.model.fact_table !== dimension.table){
+ if($scope.availableFactTables.indexOf(dimension.table)==-1){
return;
}
if(dimension.column && dimension.derived == null){
- me_columns.push(dimension.column);
+ me_columns.push(dimension.table+"."+dimension.column);
}
});
return me_columns;
@@ -224,12 +240,12 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
var me_columns = [];
angular.forEach($scope.cubeMetaFrame.dimensions,function(dimension,index){
if(dimension.column && dimension.derived == null){
- me_columns.push(dimension.column);
+ me_columns.push(dimension.table+"."+dimension.column);
}
else{
angular.forEach(dimension.derived,function(derived){
- me_columns.push(derived);
+ me_columns.push(dimension.table+"."+derived);
});
}
@@ -256,8 +272,8 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
- $scope.getColumnType = function (_column, table) {
- var columns = $scope.getColumnsByTable(table);
+ $scope.getColumnType = function (_column, alias) {
+ var columns = $scope.getColumnsByAlias(alias);
var type;
angular.forEach(columns, function (column) {
if (_column === column.name) {
@@ -314,10 +330,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
$scope.metaModel.model = _model;
});
}
-
$scope.state.cubeSchema = angular.toJson($scope.cubeMetaFrame, true);
-
-
}
});
@@ -520,7 +533,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
}
function reGenerateRowKey() {
- $log.log("reGen rowkey & agg group");
//var fk_pk = {};
var tmpRowKeyColumns = [];
var tmpAggregationItems = [];//put all aggregation item
@@ -530,7 +542,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
for( var i=0;i<$scope.metaModel.model.lookups.length;i++){
var lookup = $scope.metaModel.model.lookups[i];
- var table = lookup.table;
+ var table = lookup.alias;
pfkMap[table] = {};
for(var j=0;j<lookup.join.primary_key.length;j++){
var pk = lookup.join.primary_key[j];
@@ -543,7 +555,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
//derived column
if (dimension.derived && dimension.derived.length) {
var lookup = _.find($scope.metaModel.model.lookups, function (lookup) {
- return lookup.table == dimension.table
+ return lookup.alias == dimension.table
});
angular.forEach(lookup.join.foreign_key, function (fk, index) {
for (var i = 0; i < tmpRowKeyColumns.length; i++) {
@@ -568,7 +580,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
var tableName = dimension.table;
var columnName = dimension.column;
- var rowkeyColumn = dimension.column;
+ var rowkeyColumn = dimension.table+"."+dimension.column;
if(pfkMap[tableName]&&pfkMap[tableName][columnName]){
//lookup table primary key column as dimension
rowkeyColumn = pfkMap[tableName][columnName];
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/js/controllers/cubeMeasures.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeMeasures.js b/webapp/app/js/controllers/cubeMeasures.js
index 18f53c2..67a107b 100644
--- a/webapp/app/js/controllers/cubeMeasures.js
+++ b/webapp/app/js/controllers/cubeMeasures.js
@@ -98,24 +98,8 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes
if(/topn\.encoding\./.test(configuration)){
var _name=configuration.slice(14);
var item=$scope.newMeasure.function.configuration[configuration];
- //var _isFixedLength = item.substring(0,12) === "fixed_length"?"true":"false";//fixed_length:12
- //var _isIntegerLength = item.substring(0,7) === "integer"?"true":"false";
- //var _isIntLength = item.substring(0,3) === "int"?"true":"false";
var _encoding = item;
var _valueLength = 0 ;
- //if(_isFixedLength !=="false"){
- // _valueLength = item.substring(13,item.length);
- // _encoding = "fixed_length";
- //}
- //if(_isIntLength!="false" && _isIntegerLength=="false" ){
- // _valueLength = item.substring(4,item.length);
- // _encoding = "int";
- //}
- //
- //if(_isIntegerLength!="false" ){
- // _valueLength = item.substring(8,item.length);
- // _encoding = "integer";
- //}
var version=$scope.newMeasure.function.configuration['topn.encoding_version.'+_name]||1;
item=$scope.removeVersion(item);
var baseKey=item.replace(/:\d+/,'');
@@ -369,8 +353,9 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes
if($scope.newMeasure.function.parameter.type=="column"&&$scope.newMeasure.function.expression!=="COUNT_DISTINCT"){
var column = $scope.newMeasure.function.parameter.value;
- var colType = $scope.getColumnType(column, $scope.metaModel.model.fact_table); // $scope.getColumnType defined in cubeEdit.js
-
+ if(column){
+ var colType = $scope.getColumnType(VdmUtil.removeNameSpace(column), VdmUtil.getNameSpaceAliasName(column)); // $scope.getColumnType defined in cubeEdit.js
+ }
if(colType==""||!colType){
$scope.newMeasure.function.returntype = "";
return;
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/js/controllers/modelDataModel.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/modelDataModel.js b/webapp/app/js/controllers/modelDataModel.js
index 95a4c70..a09101b 100644
--- a/webapp/app/js/controllers/modelDataModel.js
+++ b/webapp/app/js/controllers/modelDataModel.js
@@ -20,15 +20,20 @@
KylinApp.controller('ModelDataModelCtrl', function ($location,$scope, $modal,cubeConfig,MetaModel,SweetAlert,ModelGraphService,$log,TableModel,ModelService,loadingRequest,modelsManager,VdmUtil) {
$scope.modelsManager = modelsManager;
+ angular.forEach($scope.modelsManager.selectedModel.lookups,function(joinTable){
+ if(!joinTable.alias){
+ joinTable.alias=VdmUtil.removeNameSpace(joinTable.table);
+ }
+ });
$scope.init = function (){
$scope.FactTable={root:$scope.modelsManager.selectedModel.fact_table};
$scope.aliasTableMap[VdmUtil.removeNameSpace($scope.modelsManager.selectedModel.fact_table)]=$scope.modelsManager.selectedModel.fact_table;
$scope.tableAliasMap[$scope.modelsManager.selectedModel.fact_table]=VdmUtil.removeNameSpace($scope.modelsManager.selectedModel.fact_table);
$scope.aliasName.push(VdmUtil.removeNameSpace($scope.modelsManager.selectedModel.fact_table));
angular.forEach($scope.modelsManager.selectedModel.lookups,function(joinTable){
- $scope.aliasTableMap[joinTable.alias]=joinTable.table;
- $scope.tableAliasMap[joinTable.table]=joinTable.alias;
- $scope.aliasName.push(joinTable.alias);
+ $scope.aliasTableMap[joinTable.alias]=joinTable.table;
+ $scope.tableAliasMap[joinTable.table]=joinTable.alias;
+ $scope.aliasName.push(joinTable.alias);
});
}
if($scope.state.mode=='edit'){
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/partials/cubeDesigner/advanced_settings.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubeDesigner/advanced_settings.html b/webapp/app/partials/cubeDesigner/advanced_settings.html
index 2728240..438eb1f 100755
--- a/webapp/app/partials/cubeDesigner/advanced_settings.html
+++ b/webapp/app/partials/cubeDesigner/advanced_settings.html
@@ -63,7 +63,6 @@
{{rowkey_column.column}}
</ui-select-choices>
</ui-select>
-
<p ng-if="state.mode=='view'">
{{aggregation_group.includes}}</p>
</td>
@@ -203,7 +202,7 @@
<thead>
<tr>
<th>ID</th>
- <th style="width:200px;">Column</th>
+ <th class="col-xs-4">Column</th>
<th>Encoding</th>
<th>Length</th>
<th>Shard By</th>
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/partials/cubeDesigner/dimensions.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubeDesigner/dimensions.html b/webapp/app/partials/cubeDesigner/dimensions.html
index ed265c4..8c1cdab 100644
--- a/webapp/app/partials/cubeDesigner/dimensions.html
+++ b/webapp/app/partials/cubeDesigner/dimensions.html
@@ -22,16 +22,6 @@
<div class="dataTables_wrapper form-inline no-footer">
<div class="row">
<div class="col-xs-6" ng-if="state.mode=='edit'">
- <div class="btn-group">
- <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" ng-disabled="instance.status=='READY'">
- <i class="fa fa-plus"></i> Add Dimension <span class="ace-icon fa fa-caret-down icon-on-right"></span>
- </button>
- <ul class="dropdown-menu" role="menu">
- <li><a ng-click="addDim('normal')">Normal</a></li>
- <!--<li><a ng-click="addDim('hierarchy')">Hierarchy</a></li>-->
- <li><a ng-click="addDim('derived')">Derived</a></li>
- </ul>
- </div>
<button type="button" class="btn btn-default" ng-disabled="!metaModel.model.fact_table.length||instance.status=='READY'"
ng-click="openAutoGenModal()" >
<i class="fa fa-building-o"></i> Auto Generator
@@ -51,7 +41,7 @@
<th>Name</th>
<th>Table Name</th>
<th>Type</th>
- <th></th>
+ <th>Column</th>
<th ng-if="state.mode=='edit'">Actions</th>
</tr>
</thead>
@@ -67,7 +57,7 @@
</td>
<!--Table Name -->
<td>
- <span tooltip="{{dimension.table == metaModel.model.fact_table ? 'Fact Table' : 'Lookup Table'}}">{{dimension.table}}</span>
+ <span>{{dimension.table}}</span>
</td>
<!--Type-->
<td>
@@ -77,18 +67,12 @@
<td>
<div ng-repeat="t in getDimType(dimension)">
<div ng-switch="t">
- <!--<dl class="dl-horizontal" ng-switch-when="hierarchy">-->
- <!--<dt>Hierarchy</dt>-->
- <!--<dd>{{dimension.column}}</dd>-->
- <!--</dl>-->
- <dl class="dl-horizontal" ng-switch-when="derived">
- <dt>Derived</dt>
- <dd>{{dimension.derived}}</dd>
- </dl>
- <dl class="dl-horizontal" ng-switch-when="normal">
- <dt>Column</dt>
- <dd>{{dimension.column}}</dd>
- </dl>
+ <span ng-switch-when="derived">
+ {{dimension.derived}}
+ </span>
+ <span ng-switch-when="normal">
+ {{dimension.column}}
+ </span>
</div>
</div>
</td>
@@ -156,13 +140,13 @@
<label class="control-label col-xs-12 col-sm-3 no-padding-right font-color-default"><b>Table Name</b></label>
<div class="col-xs-12 col-sm-6" ng-if="dimType.indexOf('derived') >= 0">
<select class="form-control" required="true" chosen data-placeholder="Select a lookup table"
- ng-model="newDimension.table" ng-options="table for table in availableTables.slice(1)">
+ ng-model="newDimension.table" ng-options="table for table in availableLookupTables">
<option value=""></option>
</select>
</div>
<div class="col-xs-12 col-sm-6" ng-if="dimType.indexOf('derived') == -1">
<select class="form-control" required="true" chosen data-placeholder="Select a table"
- ng-model="newDimension.table" ng-options="table for table in availableTables">
+ ng-model="newDimension.table" ng-options="table for table in availableFactTables">
<option value=""></option>
</select>
</div>
@@ -180,7 +164,7 @@
<label class="control-label col-xs-12 col-sm-3 no-padding-right font-color-default"><b>Column Name</b></label>
<div class="col-xs-12 col-sm-6">
<select class="form-control" required="true" chosen data-placeholder="Select a column"
- ng-model="newDimension.column" ng-options="column.name as column.name for column in getDimColumnsByTable(newDimension.table)">
+ ng-model="newDimension.column" ng-options="column.name as column.name for column in getDimColumnsByAlias(newDimension.table)">
<option value=""></option>
</select>
</div>
@@ -195,7 +179,7 @@
<div>
<select chosen style="width: 80%;" data-placeholder="Derived Columns.."
ng-model="newDimension.derived[$index]"
- ng-options="columns.name as columns.name for columns in getDimColumnsByTable(newDimension.table)" >
+ ng-options="columns.name as columns.name for columns in getDimColumnsByAlias(newDimension.table)" >
<option value=""></option>
</select>
<button class="pull-right btn btn-xs btn-danger" style="cursor: pointer " tooltip="Delete"
@@ -236,9 +220,9 @@
<div class="box-body">
<ul class="list-unstyled columns-region">
<!--FactTable-->
- <div ng-repeat="table in availableTables track by $index" ng-if="$index == 0" class="panel-default " >
+ <div ng-repeat="table in availableFactTables track by $index" class="panel-default " >
<h4>{{table}}[FactTable]</h4>
- <table class="table table-striped table-hover ng-scope" >
+ <table class="table table-striped table-hover ng-scope">
<tr >
<td class="col-xs-2"><label><input type="checkbox" ng-model="selectedColumns[table].all" ng-change="autoChangeAll(table)">Select All</label></td>
<td class="col-xs-4"><label>Name</label></td>
@@ -262,7 +246,7 @@
</table>
</div>
<!--LookUp Table-->
- <div ng-repeat="table in availableTables track by $index" ng-if="$index > 0" class="panel-default" >
+ <div ng-repeat="table in availableLookupTables track by $index" class="panel-default" >
<h4>{{table}}[LookupTable]</h4>
<table class="table table-striped table-hover ng-scope">
<tr class="row" >
http://git-wip-us.apache.org/repos/asf/kylin/blob/a9230473/webapp/app/partials/cubeDesigner/measures.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubeDesigner/measures.html b/webapp/app/partials/cubeDesigner/measures.html
index 8961cc6..492220c 100755
--- a/webapp/app/partials/cubeDesigner/measures.html
+++ b/webapp/app/partials/cubeDesigner/measures.html
@@ -148,6 +148,7 @@
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 == 'COUNT_DISTINCT'||newMeasure.function.expression == 'RAW')"
ng-model="newMeasure.function.parameter.value" required
@@ -239,7 +240,7 @@
<thead>
<tr>
<th>ID</th>
- <th>Column</th>
+ <th class="col-xs-5" >Column</th>
<th>Encoding</th>
<th>Length</th>
<th ng-if="state.mode=='edit'"></th>
@@ -257,9 +258,9 @@
</td>
<!--Column Name -->
<td>
- <select class="form-control" chosen ng-if="nextPara.type !== 'constant'" required
+ <select class="form-control col-xs-12" chosen ng-if="nextPara.type !== 'constant'" required
ng-model="groupby_column.name"
- ng-options="column as column for column in getAllModelDimColumns()" style="width:200px;">
+ ng-options="column as column for column in getAllModelDimColumns()" >
<option value="">--Select A Column--</option>
</select>
</td>