GitHub user 1ambda reopened a pull request: https://github.com/apache/zeppelin/pull/2098
[ZEPPELIN-2217] AdvancedTransformation for Visualization ### What is this PR for? Even if we already have 2 useful transformation, they have limitations. - we can't configure axises in `PivotTransformation` - we can't use aggregator functions in `ColumnselectorTransformation` `AdvancedTransformation` provides both functionality. Additionally, it supports - dynamic parameter panel for configuring charts - multiple, configurable, detailed axises - maximizing / minimizing each panel #### Implementation Details: Configuring Chart See also: [an example visualization using AdvancedTransformation](https://github.com/1ambda/zeppelin-advanced-transformation/blob/master/examples/local-test-highcharts-columnrange/index.js) ```javascript this.spec = { /** axis spec */ axis: { 'xAxis': { type: 'number', dimension: 'single', group: false, aggregator: false, }, 'yAxis': { type: 'string', dimension: 'multiple', group: true, aggregator: false, }, }, /** parameter spec */ parameter: { 'xAxisName': { type: 'string', defaultValue: '', description: 'Name of xAxis', }, 'yAxisName': { type: 'string', defaultValue: '', description: 'Name of yAxis', }, 'yAxisUnit': { type: 'string', defaultValue: '', description: 'Unit of yAxis', }, } } this.transformation = new AdvancedTransformation(config, this.spec) ``` #### Implementation Details: return value of `transform` ```javascript return { raw: tableData.rows, grouped: grouped, /** [{ group, groupedRows, aggregated }] */ column: { allColumns: tableData.columns, groupColumns: groupColumns, aggregatedColumns, normalColumns: normalColumns, } } ``` ### What type of PR is it? [Feature] ### Todos NONE ### What is the Jira issue? [ZEPPELIN-2217](https://issues.apache.org/jira/browse/ZEPPELIN-2217) ### How should this be tested? 1. Clone https://github.com/1ambda/zeppelin-advanced-transformation 2. Copy `examples/local-test-highcharts-columnrange/local-test-highcharts-columnrange.json` into `$ZEPPELIN_HOME/helium` 3. Install the above visualization in `localhost:9000/#helium` 4. Test it ### Screenshots (if appropriate) ![advanced_transformation_axis](https://cloud.githubusercontent.com/assets/4968473/23598175/f886f880-027b-11e7-83d6-3cbfb97ff9a7.gif) ![advanced_transformation_param](https://cloud.githubusercontent.com/assets/4968473/23598178/fb4c0416-027b-11e7-9efe-8c09bb55da79.gif) ### Questions: * Does the licenses files need update? - NO * Is there breaking changes for older versions? - NO * Does this needs documentation? - NO You can merge this pull request into a Git repository by running: $ git pull https://github.com/1ambda/zeppelin ZEPPELIN-2217/advanced-transformation Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/2098.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2098 ---- commit 9fdbc1889622cb664a381771941b11f41b6db7a3 Author: 1ambda <1am...@gmail.com> Date: 2017-03-06T05:39:48Z feat: AdvancedTransformation commit 0278a201c7fb9918e127ef15fdffb792fa8a6dba Author: 1ambda <1am...@gmail.com> Date: 2017-03-11T20:48:35Z fix: Overflow issue in single aggr commit dbebddb08485628e4ccd33a37641e124053ca51c Author: 1ambda <1am...@gmail.com> Date: 2017-03-12T07:46:59Z feat: Add groupBase axis option commit 6f2a7407a800b1abe4868f2c4e57b170789564b6 Author: 1ambda <1am...@gmail.com> Date: 2017-03-12T07:55:12Z refactor: Add getAxisInSingleDimension func commit d11cae1bda946fd318cbaf3842cacf22472ce933 Author: 1ambda <1am...@gmail.com> Date: 2017-03-12T08:16:41Z feat: Add clearConfig commit ccdb5a67d90ef52107535a2e5a4d31ceea1c5ca8 Author: 1ambda <1am...@gmail.com> Date: 2017-03-12T08:59:28Z refactor: Refine transform API commit 44825ca172e6ba5ff9c30f4aa2b16982ef5bf8a8 Author: 1ambda <1am...@gmail.com> Date: 2017-03-12T09:06:40Z fix: Add singleDimensionAggregatorChanged commit c05e1f9bd9af1fc3f5bfdeb9a52bb9826b3d1692 Author: 1ambda <1am...@gmail.com> Date: 2017-03-13T09:26:40Z feat: Support multiple charts commit 1cdaa5763f9581fa334bdf1785da99f4cd4b1f1b Author: 1ambda <1am...@gmail.com> Date: 2017-03-13T11:21:40Z feat: Support multiple charts in UI commit 352d9ff0ad6f94ebc37dc6869e2010046cd8bf0d Author: 1ambda <1am...@gmail.com> Date: 2017-03-13T12:15:38Z feat: advanced-transformation-api commit ac1425be555a22cebd7371f591c69a94bee85187 Author: 1ambda <1am...@gmail.com> Date: 2017-03-14T15:49:23Z refactor: Refine axis, param spec commit c42bee20fac7feefba10630543d149a517471c22 Author: 1ambda <1am...@gmail.com> Date: 2017-03-14T16:17:33Z feat: Support same axis types commit 52c2afc31fab2c39a77f3989ed22fb77978204fe Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T12:03:10Z feat: Cube Transformation commit d4194cd204e95da57778ff28db0b0b12f6e98419 Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T12:48:23Z feat: Support undefined valueType in axisSpec commit 48984539adf7de06a6cfc5e5422b395685cd0e9e Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T13:15:59Z feat: Support maxAxisCount in axisSpec commit ad80e11a739cb2e7374779beba70ba5aafcafd41 Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T15:44:04Z feat: Support transform: flatten commit 4d034139d8c0975cc15c41b625e62f6e9cf2a2c2 Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T15:48:24Z fix: Modify margin of subchart radio btns commit c30d3cb2bafb6c5e2b613d20969f6c0bc200e499 Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T15:52:35Z fix: Duplicated radio btn id, name commit 763eb26fd81a393ad08cb9d0ea8393d3b5cceb8d Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T16:35:26Z feat: Automatic spec versioning commit ecca5c1c6aed749839296753fd3e5354253726cf Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T17:11:17Z feat: Support transformer commit 8a8055f7469d334e206931ebde34d3a0a24dcb9f Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T18:24:20Z feat: custom axisSpec commit 12b16ec1360fc06dd2c3d0d34b5fd73f212952c6 Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T18:35:23Z feat: Save and close with enter key commit b5e78e0db548d272145c963d94180fc674e4ee39 Author: 1ambda <1am...@gmail.com> Date: 2017-03-15T18:45:55Z fix: Change panel header commit bf3bcc1fb22088bc464885084ae1a072f0c024d1 Author: 1ambda <1am...@gmail.com> Date: 2017-03-16T10:26:38Z feat: option widget commit 70291717f9dbe1f688b850ddbf0cb6b129008642 Author: 1ambda <1am...@gmail.com> Date: 2017-03-16T10:30:15Z feat: widget checkbox commit 356072e8fe36e669b7cc48baec895a877b90bdb6 Author: 1ambda <1am...@gmail.com> Date: 2017-03-16T10:39:31Z feat: textare widget and update hook commit 5a08ce077b2a48f3b85d5c437f9573713526897e Author: 1ambda <1am...@gmail.com> Date: 2017-03-16T15:32:46Z refactor: Remove util and add Widget funcs commit 331b2a97e2598c13e47a8e8c349fe1ae0ec4dc0b Author: 1ambda <1am...@gmail.com> Date: 2017-03-16T18:03:10Z fix: Dont close param panel when enter commit b0cbb9378abb44d171e5579b20c55892a1a9b0f3 Author: 1ambda <1am...@gmail.com> Date: 2017-03-16T18:54:57Z feat: Automatic param parsing commit f849161ebed87930b69c3889b40c1eb806abe590 Author: 1ambda <1am...@gmail.com> Date: 2017-03-16T19:11:35Z fix: Stop event propagation in widgets ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---