You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by xx...@apache.org on 2022/03/11 04:02:25 UTC

[kylin] branch document updated: # add quick start for mdx (#1830)

This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch document
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/document by this push:
     new f93d43d  # add quick start for mdx (#1830)
f93d43d is described below

commit f93d43d184f9ad9485b131e3af50f941e86f6bb6
Author: Tengting Xu <34...@users.noreply.github.com>
AuthorDate: Fri Mar 11 12:02:18 2022 +0800

    # add quick start for mdx (#1830)
    
    * # add quick start for mdx
    
    * # minor fix
    
    * # minor fix
    
    * # minor fix
---
 website/_data/docs-cn.yml                          |   3 +-
 website/_data/docs.yml                             |   3 +-
 website/_docs/install/kylin_docker.cn.md           |  36 +++-
 website/_docs/install/kylin_docker.md              |  36 +++-
 website/_docs/tutorial/quick_start_for_mdx.cn.md   | 225 ++++++++++++++++++++
 website/_docs/tutorial/quick_start_for_mdx.md      | 233 +++++++++++++++++++++
 .../4.0/Quick-Start-For-Mdx/add_hierachy.png       | Bin 0 -> 106222 bytes
 .../4.0/Quick-Start-For-Mdx/add_hierachy_cn.png    | Bin 0 -> 106222 bytes
 .../4.0/Quick-Start-For-Mdx/calculate_measure.png  | Bin 0 -> 189989 bytes
 .../Quick-Start-For-Mdx/calculate_measure_cn.png   | Bin 0 -> 171279 bytes
 .../4.0/Quick-Start-For-Mdx/create_mdx_dataset.png | Bin 0 -> 24741 bytes
 .../Quick-Start-For-Mdx/create_mdx_dataset_cn.png  | Bin 0 -> 23628 bytes
 .../4.0/Quick-Start-For-Mdx/dimension_property.png | Bin 0 -> 112301 bytes
 .../Quick-Start-For-Mdx/dimension_property02.png   | Bin 0 -> 107907 bytes
 .../dimension_property02_cn.png                    | Bin 0 -> 118672 bytes
 .../Quick-Start-For-Mdx/dimension_property03.png   | Bin 0 -> 125257 bytes
 .../dimension_property03_cn.png                    | Bin 0 -> 143505 bytes
 .../Quick-Start-For-Mdx/dimension_property_cn.png  | Bin 0 -> 112732 bytes
 .../4.0/Quick-Start-For-Mdx/kylin_sales.png        | Bin 0 -> 77910 bytes
 .../Quick-Start-For-Mdx/kylin_sales_ready_cube.png | Bin 0 -> 78291 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_dataset_step01.png | Bin 0 -> 53740 bytes
 .../Quick-Start-For-Mdx/mdx_dataset_step01_cn.png  | Bin 0 -> 54678 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_dataset_step02.png | Bin 0 -> 59870 bytes
 .../Quick-Start-For-Mdx/mdx_dataset_step02_cn.png  | Bin 0 -> 59862 bytes
 .../tutorial/4.0/Quick-Start-For-Mdx/mdx_excel.png | Bin 0 -> 734326 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_02.png       | Bin 0 -> 265334 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_02_cn.png    | Bin 0 -> 318292 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_03.png       | Bin 0 -> 293452 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_03_cn.png    | Bin 0 -> 363421 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_04.png       | Bin 0 -> 388430 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_04_cn.png    | Bin 0 -> 478356 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_05.png       | Bin 0 -> 1533624 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_05_cn.png    | Bin 0 -> 1592442 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_excel_cn.png       | Bin 0 -> 641034 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_mdx_step01.png     | Bin 0 -> 55937 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_mdx_step01_cn.png  | Bin 0 -> 54678 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_project.png        | Bin 0 -> 43027 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_project_cn.png     | Bin 0 -> 40348 bytes
 .../tutorial/4.0/Quick-Start-For-Mdx/mdx_save.png  | Bin 0 -> 97387 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_save_cn.png        | Bin 0 -> 90099 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_translation.png    | Bin 0 -> 88505 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_translation02.png  | Bin 0 -> 100863 bytes
 .../Quick-Start-For-Mdx/mdx_translation02_cn.png   | Bin 0 -> 68459 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_translation03.png  | Bin 0 -> 104701 bytes
 .../Quick-Start-For-Mdx/mdx_translation03_cn.png   | Bin 0 -> 69806 bytes
 .../4.0/Quick-Start-For-Mdx/mdx_translation_cn.png | Bin 0 -> 59794 bytes
 .../4.0/Quick-Start-For-Mdx/modified_dimession.png | Bin 0 -> 123292 bytes
 .../Quick-Start-For-Mdx/modified_dimession02.png   | Bin 0 -> 139696 bytes
 .../Quick-Start-For-Mdx/modified_dimession_cn.png  | Bin 0 -> 128624 bytes
 .../4.0/Quick-Start-For-Mdx/modified_measure.png   | Bin 0 -> 110364 bytes
 .../4.0/Quick-Start-For-Mdx/modified_measure02.png | Bin 0 -> 136386 bytes
 .../Quick-Start-For-Mdx/modified_measure02_cn.png  | Bin 0 -> 135581 bytes
 .../Quick-Start-For-Mdx/modified_measure_cn.png    | Bin 0 -> 119365 bytes
 53 files changed, 532 insertions(+), 4 deletions(-)

diff --git a/website/_data/docs-cn.yml b/website/_data/docs-cn.yml
index 1a120ce..0e6f4cd 100644
--- a/website/_data/docs-cn.yml
+++ b/website/_data/docs-cn.yml
@@ -30,6 +30,7 @@
 - title: 教程
   docs:
   - tutorial/kylin_sample
+  - tutorial/quick_start_for_mdx
   - tutorial/web
   - tutorial/create_cube
   - tutorial/cube_build_job
@@ -57,7 +58,7 @@
 
 
 - title: 帮助
-  docs:  
+  docs:
   - howto/howto_use_restapi
   - howto/howto_build_cube_with_restapi
   - howto/howto_optimize_cubes
diff --git a/website/_data/docs.yml b/website/_data/docs.yml
index 1d41e2e..aa128fc 100644
--- a/website/_data/docs.yml
+++ b/website/_data/docs.yml
@@ -38,6 +38,7 @@
 - title: Tutorial
   docs:
   - tutorial/kylin_sample
+  - tutorial/quick_start_for_mdx
   - tutorial/web
   - tutorial/create_cube
   - tutorial/cube_build_job
@@ -83,4 +84,4 @@
 
 - title: Security
   docs:
-    - security
\ No newline at end of file
+    - security
diff --git a/website/_docs/install/kylin_docker.cn.md b/website/_docs/install/kylin_docker.cn.md
index a8141e7..0a5a38d 100644
--- a/website/_docs/install/kylin_docker.cn.md
+++ b/website/_docs/install/kylin_docker.cn.md
@@ -52,6 +52,40 @@ apachekylin/apache-kylin-standalone:4.0.0
 - HDFS NameNode 页面:[http://127.0.0.1:50070](http://127.0.0.1:50070/)
 - YARN ResourceManager 页面:[http://127.0.0.1:8088](http://127.0.0.1:8088/)
 
+## 快速试用 MDX for Kylin
+
+我们已将面向用户的 MDX for Kylin 镜像上传至 docker 仓库,用户无需在本地构建镜像,直接执行以下命令从 docker 仓库 pull 镜像:
+
+{% highlight Groff markup %}
+docker pull apachekylin/apache-kylin-standalone:kylin-4.0.1-mondrian
+{% endhighlight %}
+
+pull 成功后,执行以下命令启动容器:
+
+{% highlight Groff markup %}
+docker run -d \
+-m 8G \
+-p 7070:7070 \
+-p 7080:7080 \
+-p 8088:8088 \
+-p 50070:50070 \
+-p 8032:8032 \
+-p 8042:8042 \
+-p 2181:2181 \
+apachekylin/apache-kylin-standalone:kylin-4.0.1-mondrian
+{% endhighlight %}
+
+在容器启动时,会在`快速试用 Kylin`的启动服务上会另外启动以下服务:
+
+- MDX for Kylin
+
+容器启动后,我们可以通过 "docker exec -it \<container_id\> bash" 命令进入容器内。当然,由于我们已经将容器内指定端口映射到本机端口,我们可以直接在本机浏览器中打开各个服务的页面,如:
+
+- Kylin 页面:[http://127.0.0.1:7070/kylin/login](http://127.0.0.1:7070/kylin/login)
+- MDX for Kylin 页面:[http://127.0.0.1:7080](http://127.0.0.1:7080)
+- HDFS NameNode 页面:[http://127.0.0.1:50070](http://127.0.0.1:50070/)
+- YARN ResourceManager 页面:[http://127.0.0.1:8088](http://127.0.0.1:8088/)
+
 ## 容器资源建议
 
 为了让 Kylin 能够顺畅的构建 Cube,我们为 Yarn NodeManager 配置的内存资源为 6G,加上各服务占用的内存,请保证容器的内存不少于 8G,以免因为内存不足导致出错。
@@ -64,4 +98,4 @@ apachekylin/apache-kylin-standalone:4.0.0
 ---
 
 
-关于如何定制修改 Docker image,请参阅 Git 代码库的 [kylin/docker](https://github.com/apache/kylin/tree/main/docker/)
\ No newline at end of file
+关于如何定制修改 Docker image,请参阅 Git 代码库的 [kylin/docker](https://github.com/apache/kylin/tree/main/docker/)
diff --git a/website/_docs/install/kylin_docker.md b/website/_docs/install/kylin_docker.md
index 701daf1..745f1c5 100644
--- a/website/_docs/install/kylin_docker.md
+++ b/website/_docs/install/kylin_docker.md
@@ -52,6 +52,40 @@ After the container is started, we can enter the container through the `docker e
 - Hdfs NameNode Web UI: [http://127.0.0.1:50070](http://127.0.0.1:50070/)
 - Yarn ResourceManager Web UI: [http://127.0.0.1:8088](http://127.0.0.1:8088/)
 
+## Quickly try MDX for Kylin
+
+We have pushed the MDX for Kylin image for the user to the docker hub. Users do not need to build the image locally, just execute the following command to pull the image from the docker hub:
+
+{% highlight Groff markup %}
+docker pull apachekylin/apache-kylin-standalone:kylin-4.0.1-mondrian
+{% endhighlight %}
+
+After the pull is successful, execute the following command to start the container:
+
+{% highlight Groff markup %}
+docker run -d \
+-m 8G \
+-p 7070:7070 \
+-p 7080:7080 \
+-p 8088:8088 \
+-p 50070:50070 \
+-p 8032:8032 \
+-p 8042:8042 \
+-p 2181:2181 \
+apachekylin/apache-kylin-standalone:kylin-4.0.1-mondrian
+{% endhighlight %}
+
+The extra following service will start based on services of `Quickly try Kylin` started:
+
+- MDX for Kylin
+
+After the container is started, we can enter the container through the `docker exec -it <container_id> bash` command. Of course, since we have mapped the specified port in the container to the local port, we can open the pages of each service directly in the native browser, such as:
+
+- Kylin Web UI: [http://127.0.0.1:7070/kylin/login](http://127.0.0.1:7070/kylin/login)
+- MDX for Kylin Web UI: [http://127.0.0.1:7080](http://127.0.0.1:7080)
+- Hdfs NameNode Web UI: [http://127.0.0.1:50070](http://127.0.0.1:50070/)
+- Yarn ResourceManager Web UI: [http://127.0.0.1:8088](http://127.0.0.1:8088/)
+
 ## Container resource recommendation
 
 In order to allow Kylin to build the cube smoothly, the memory resource we configured for Yarn NodeManager is 6G, plus the memory occupied by each service, please ensure that the memory of the container is not less than 8G, so as to avoid errors due to insufficient memory.
@@ -63,4 +97,4 @@ For the resource setting method for the container, please refer to:
 
 ---
 
-For how to customize the image, please check the github page [kylin/docker](https://github.com/apache/kylin/tree/main/docker/).
\ No newline at end of file
+For how to customize the image, please check the github page [kylin/docker](https://github.com/apache/kylin/tree/main/docker/).
diff --git a/website/_docs/tutorial/quick_start_for_mdx.cn.md b/website/_docs/tutorial/quick_start_for_mdx.cn.md
new file mode 100644
index 0000000..c60040e
--- /dev/null
+++ b/website/_docs/tutorial/quick_start_for_mdx.cn.md
@@ -0,0 +1,225 @@
+---
+layout: docs-cn
+title: 快速上手 MDX for Kylin
+categories: tutorial
+permalink: /cn/docs/tutorial/quick_start_for_mdx.html
+---
+
+欢迎查看本教程。 本教程通过数据集 `Kylin Sales`,构建一个数据集 ,并说明如何创建并在 Excel 中使用数据集进行分析。章节快速导航:
+
+- [您将掌握的内容](#您将掌握的内容)
+- [前置条件](#前置条件)
+- [准备操作](#准备操作)
+- [创建 MDX 数据集](#创建 MDX 数据集)
+  - [填写基本信息](#填写基本信息)
+  - [定义模型关系](#定义模型关系)
+  - [修改维度名称和度量名称](#修改维度名称和度量名称)
+    - [修改维度名称](#修改维度名称)
+    - [修改度量名称](#修改度量名称)
+  - [修改维度表属性和维度属性](#修改维度表属性和维度属性)
+  - [创建层级结构](#创建层级结构)
+  - [创建计算度量](#创建计算度量)
+  - [定义翻译](#定义翻译)
+  - [编辑维度用法](#编辑维度用法)
+  - [确定并保存](#确定并保存)
+- [在 Excel 中分析](#在 Excel 中分析)
+
+## 您将掌握的内容<a id="您将掌握的内容"></a>
+
+在本教程中,您将了解以下内容:
+
+- 如何在 MDX for Kylin 中创建数据集;
+- 如何在 MDX for Kylin 的数据集中创建层级结构和常用的计算度量(例如 YTD、QTD、MTD、YOY 和 MOM);
+- 如何在 MDX for Kylin 的数据集中修改维度表、维度属性、度量属性和维度用法。
+- 如何通过 Excel 连接 MDX for Kylin 进行分析。
+
+## 前置条件<a id="前置条件"></a>
+
+要完成本教程的所有课程,您将需要准备如下内容:
+
+- 本次教程主要以 MDX for Kylin Docker 环境作为演示。
+- 完成 MDX for Kylin Docker 的安装,详见 [快速试用 MDX for Kylin](/cn/docs/install/kylin_docker.html)。
+- 在 MDX for Kylin 对接的 Kylin 中构建 Kylin Sales 数据集。
+
+## 准备操作<a id="准备操作"></a>
+
+1. 在 Kylin 中创建 Kylin Sales 的 Model/Cube。
+
+   > 当前 Docker 环境启动默认带有 `learn_kylin`项目,并且生成 `kylin_sales_model` 和 `kylin_sales_cube`.
+
+   ![kylin sales](/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales.png)
+
+2. 构建 `kylin_sales_cube`。
+
+   ![built cube](/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales_ready_cube.png)
+
+## 创建 MDX 数据集<a id="创建 MDX 数据集"></a>
+
+至此,我们已经完成了准备工作,接下来就可以开始进行分析工作。
+
+### 填写基本信息<a id="填写基本信息"></a>
+
+1. 由于 Kylin 中的 Cube 创建在项目 `learn_kylin` 中,所以此处项目名称选择 `learn_kylin`。
+   ![mdx project](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project_cn.png)
+2. 打开**数据集**菜单,点击**创建数据集**按钮。
+   ![mdx dataset](/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset_cn.png)
+3. 然后您将进入数据集设计页面。填写数据集名称: **Kylin_Sales_Analysis** 。完成后点击 **下一步** 按钮。
+   ![mdx dataset step 01](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01_cn.png)
+
+### 定义模型关系<a id="定义模型关系"></a>
+
+此次分析将简单分析关于 Kylin_Sales 的数据是否存在某种关系。
+
+拖拽模型 `kylin_sales_cube` 进入右侧画布, 完成后点击 **下一步** 按钮。
+![mdx dataset step 02](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02_cn.png)
+
+### 修改维度名称和度量名称<a id="修改维度名称和度量名称"></a>
+
+为了增加可读性,我们可以更改维度和度量的名称。
+
+#### 修改维度名称<a id="修改维度名称"></a>
+
+1. 点击定义语义页面左侧的**维度名称**,即可显示维度详情。
+   ![modify dimession](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession_cn.png)
+
+2. 在显示维度详情页面,点击**编辑**按钮,即可进入编辑页面,此处将维度 **YEAR_BEG_DT** 的名称改为 **年份**。
+   ![modify dimession 02](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession02.png)
+
+同样的依照如上方式,并按下表,更改维度名称:
+
+| Cube 名称        | 表名称       | 原维度名称   | 更改后维度名称 |
+| ---------------- | ------------ | ------------ | -------------- |
+| kylin_sales_cube | KYLIN_CAL_DT | YEAR_BEG_DT  | 年份           |
+| kylin_sales_cube | KYLIN_CAL_DT | MONTH_BEG_DT | 月份           |
+| kylin_sales_cube | KYLIN_CAL_DT | WEEK_BEG_DT  | 周             |
+
+#### 修改度量名称<a id="修改度量名称"></a>
+
+1. 同样的,点击定义语义页面左侧的**度量名称**,即可显示度量详情。
+   ![modify measure](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure_cn.png)
+
+2. 在显示度量详情页面,点击**编辑**按钮,即可进入编辑页面,此处将度量 **GMV_SUM** 的名称改为 **销售总额**。
+   ![modify measure 02](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02_cn.png)
+
+同样的依照如上方式,并按下表,更改度量名称:
+
+| Cube 名称        | 原度量名称     | 更改后度量名称 |
+| ---------------- | -------------- | -------------- |
+| kylin_sales_cube | TRANS_CNT      | 销售订单总数   |
+| kylin_sales_cube | SELLER_CNT_HLL | 销售用户总数   |
+| kylin_sales_cube | ITEM_BITMAP    | 销售用品总数   |
+| kylin_sales_cube | GMV_SUM        | 销售总额       |
+
+### 修改维度表属性和维度属性<a id="修改维度表属性和维度属性"></a>
+
+为了计算 YTD、MTD、QTD 等时间智能函数,所以需要调整相关维度表和维度的属性。我们需要将维度表属性改为时间类型。并将年、季、月的维度属性分别更改成年、季、月。
+
+1. **修改维度表属性**
+   点击定义语义页面左侧的**维度表名称**,即可显示维度表详情。
+   
+   ![dimession property](/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property_cn.png)
+   
+   在显示度量详情页面,点击**编辑**按钮,即可进入编辑页面,此处将维度表属性由常规,改为时间。
+   
+   ![dimession proper](/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02_cn.png)
+
+2. **修改维度属性**
+   按照上文介绍的方法,进入编辑维度属性页面,即可更改其属性,此处需要将维度年份、季度和月份的属性改为年、季和月。
+   
+   ![dimension property 03](/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03_cn.png)
+
+### 创建层级结构<a id="创建层级结构"></a>
+
+对于时间维度,例如年、月、日这样的具有层级关系结构的维度,我们一般会建立层级结构,用于分析
+
+> 提示:
+> 
+> 若需要使用YTD、QTD、MTD、WTD这类时间智能函数,有以下注意事项:
+>
+> 1. 必须要建立日历层级结构
+> 2. 层级结构中的维度的属性分别被指定为年、季、月、周、日
+> 3. 在 Excel 使用时间智能函数时,需要将该层级结构拖入行或者列中
+
+点击 维度列表的右上角的  **新增层级结构** 按钮,以新增层级结构。此处由于分析的需要,创建名为日历结构的层级结构,其中的元素为年份、季度、月份、周、日期。
+
+> 提示:
+> 
+> 层级结构中的维度,需要按照概念从大到小的顺序选择,例如,年、月、周、日。
+
+![add hierachy](/images/tutorial/4.0/Quick-Start-For-Mdx/add_hierachy_cn.png)
+
+### 创建计算度量<a id="创建计算度量"></a>
+
+点击度量列上右上角的 **新增计算度量** 按钮即可添加计算度量。
+
+![add calculate measure](/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure_cn.png)
+
+下方表格列出了常见的计算度量表达式,供用户参考。
+
+| 计算度量名称       | **格式** | MDX 表达式                                                   |
+| ------------------ | -------- | ------------------------------------------------------------ |
+| 销售产品数量 YTD   | #,###,00 | SUM(YTD([DATE_DIM].[日历结构-Hierarchy].CurrentMember),[Measures].[销售产品数量]) |
+| 销售产品数量 QTD   | #,###,00 | SUM(QTD([DATE_DIM].[日历结构-Hierarchy].CurrentMember),[Measures].[销售产品数量]) |
+| 销售产品数量 MTD   | #,###,00 | SUM(MTD([DATE_DIM].[日历结构-Hierarchy].CurrentMember),[Measures].[销售产品数量]) |
+| 上月销售产品数量   | #,###,00 | SUM(ParallelPeriod([DATE_DIM].[日历结构-Hierarchy].[月份],1,[DATE_DIM].[日历结构-Hierarchy].CurrentMember),[Measures].[销售产品数量]) |
+| 上季度销售产品数量 | #,###,00 | SUM(ParallelPeriod([DATE_DIM].[日历结构-Hierarchy].[季度],1,[DATE_DIM].[日历结构-Hierarchy].CurrentMember),[Measures].[销售产品数量]) |
+| 去年销售产品数量   | #,###,00 | SUM(ParallelPeriod([DATE_DIM].[日历结构-Hierarchy].[年份],1,[DATE_DIM].[日历结构-Hierarchy].CurrentMember),[Measures].[销售产品数量]) |
+| 销售产品数量 MOM   | 0.00%    | ([Measures].[销售产品数量]-[Measures].[上月销售产品数量])/[Measures].[上月销售产品数量] |
+| 销售产品数量 YOY   | 0.00%    | ([Measures].[销售产品数量]-[Measures].[上月销售产品数量])/[Measures].[上年销售产品数量] |
+
+### 定义翻译<a id="定义翻译"></a>
+
+在 `MDX for Kylin` 中,您可以嵌入一个基于区域设置标识符 (LCID)来设置指定地域的信息来获取对应区域的语言设置,并展示对应数据集各项实体的名称
+
+这项功能有助于国际化的团队分析同一份数据集,从而节省重复定义数据集的工作,同时也保证不同的团队使用的数据口径是统一的。
+
+#### 备注
+
+1. 目前仅支持中国、美国、英国三种语言设置。
+2. 目前可设置的实体为维表、维度、度量、计算度量和层级。如果某维度定义了翻译,那么包含该维度的层级也会使用翻译的名称。
+3. 如果分析应用客户端使用的语言没有在数据集定义,那么数据集将采用默认语言。如果您使用是 Excel,不同语言设置的 Excel 将会使用不同的 LCID。
+4. 在 MDX 表达式中引用维度,度量等实体时,请使用默认名称进行引用,而不要使用翻译的名称。
+
+#### 配置步骤<a id="配置步骤"></a>
+
+1. 点击添加翻译语言的按钮;
+   ![mdx translation](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation_cn.png)
+
+2. 在增加的一列中选择翻译对应的语言,并点击右侧的勾确定添加;
+   ![mdx translation 02](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02_cn.png)
+
+3. 在新增的翻译语言中根据需求,可以设置对应维表、维度、度量名称等的翻译。
+   ![mdx translation 03](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03_cn.png)
+
+> 以上翻译定义了`年月`的中英文翻译。
+
+### 编辑维度用法<a id="编辑维度用法"></a>
+
+由于 Kylin 暂不支持复杂的多对多关系等,所以此处不做特殊定义。
+
+### 确定并保存<a id="确定并保存"></a>
+
+至此您已经完成了本教程中数据集创建的主要工作,点击 **确定** 按钮即可。
+
+![mdx save](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save_cn.png)
+
+## 在 Excel 中分析<a id="在 Excel 中分析"></a>
+
+我们已经完成了数据集的定义,现在就可以对接 Excel 进行分析了。
+
+1. 选择 **数据 —> 自 Analysis Services**
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_cn.png" alt="mdx excel" style="zoom:50%;" />
+
+2. 接下来您需要在**服务器名称**一栏中填写连接 MDX for Kylin 的地址信息,样例如下:
+   ``` http://{host}:{port}/mdx/xmla/{project}```
+   MDX for Kylin 默认端口号是 7080,用户名和密码请填写 MDX for Kylin 系统的登录用户名和密码。
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02_cn.png" alt="mdx excel 02" style="zoom:50%;" />
+
+3. 现在Excel 已经被连接到 数据集了。选择此前创建的的数据集 **Kylin_Sales_Analysis**,点击下一步。
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03_cn.png" alt="mdx excel 03" style="zoom:50%;" />
+
+4. 勾选总是尝试文件来刷新数据,点击完成。
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04_cn.png" alt="mdx excel 04" style="zoom:50%;" />
+
+5. 现在,您可以使用 Excel 透视表分析 MDX for Kylin 的数据集了。
+   ![mdx excel 05](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05_cn.png)
diff --git a/website/_docs/tutorial/quick_start_for_mdx.md b/website/_docs/tutorial/quick_start_for_mdx.md
new file mode 100644
index 0000000..ff7d2a9
--- /dev/null
+++ b/website/_docs/tutorial/quick_start_for_mdx.md
@@ -0,0 +1,233 @@
+---
+layout: docs
+title:  Quickly Start With MDX for Kylin
+categories: tutorial
+permalink: /docs/tutorial/quick_start_for_mdx.html
+---
+
+Welcome to this tutorial. In this tutorial, we will build an MDX dataset base on the public dataset `KYLIN_SALES`, showing how to create and use datasets for analysis in Excel. Chapter Quick Navigation:
+
+- [What you will know](#What you will know)
+- [Prerequisites](#Prerequisites)
+- [Preparation](#Preparation)
+- [Create MDX Dataset](#Create MDX Dataset)
+  - [Fill in the basic information](#Fill in the basic information)
+  - [Define Relationships](#Define Relationships)
+  - [Modify dimension name and measure name](#Modify dimension name and measure name)
+    - [Modify the dimension name](#[Modify the dimension name](#))
+    - [Modify the measure name](#Modify the measure name)
+  - [Modify dimension table attributes and dimension attributes](#Modify dimension table attributes and dimension attributes)
+    - [Modify dimension table properties](#Modify dimension table properties)
+    - [Modify dimension attributes](#Modify dimension attributes)
+  - [Create Hierarchies](#Create Hierarchies)
+  - [Create Calculated Measures](#Create Calculated Measures)
+  - [Define Translation](#Define Translation)
+  - [Edit Dimension Usage](#Edit Dimension Usage)
+  - [Edit Visibility Restrict](#Edit Visibility Restrict)
+  - [Save and Create](#Save and Create)
+- [Analysis in Excel](#Analysis in Excel)
+
+
+
+## What you will know<a id="What you will know"></a>
+
+In this tutorial you will learn about the following:
+
+- How to create MDX datasets in `MDX for Kylin`.
+- How to create hierarchies and commonly used calculated measures (eg YTD, QTD, MTD, YOY and MOM) in `MDX for Kylin`'s dataset.
+- How to modify dimension table attributes, dimension attributes, measure attributes, and dimension usage in `MDX for Kylin`'s dataset.
+- How to analysis in Excel.
+
+## Prerequisites<a id="Prerequisites"></a>
+
+To complete all the lessons in this tutorial, you will need to prepare the following:
+
+- This tutorial mainly uses Docker of MDX for Kylin as a demonstration.
+- Complete the installation of Docker of MDX for Kylin, as described in [Quickly try MDX for Kylin](/docs/install/kylin_docker.html).
+- Prepare `Kylin Sales` datasets in Kylin.
+
+## Preparation<a id="Preparation"></a>
+
+1. **Create Models/Cubes in Kylin**
+
+   > The current docker environment starts with the `learn_kylin` project by default, and generates `kylin_sales_model` and `kylin_sales_cube`.
+
+   ![kylin sales](/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales.png)
+
+2. Build `kylin_sales_cube`.
+   ![imag](/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales_ready_cube.png)
+
+## Create MDX Dataset<a id="Create MDX Dataset"></a>
+
+At this point, we have completed the preparation work, and then we should start creating MDX dataset.
+
+### Fill in the basic information<a id="Fill in the basic information"></a>
+
+1. Since the Cube in Kylin is created in the project `learn_kylin`, the project name in MDX for Kylin should be `learn_kylin`.
+   ![mdx project](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project.png)
+
+2. Open the **Dataset** menu and click the **+ Create Dataset** button.
+   ![create dataset](/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset.png)
+
+3. Click to start creating a dataset. 
+   Fill in the dataset Name with ***Kylin_Sales_Analysis\***. 
+   Click **Next** button when done.
+   ![create dataset](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01.png)
+
+### Define Relationships<a id="Define Relationships"></a>
+
+This analysis will simply analyze whether there is a relationship between the data about `Kylin_Sales`.
+
+Drag `kylin_sales_cube` to the right pane. Click the **Next** button when done.
+
+![define relationships](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02.png)
+
+### Modify dimension name and measure name<a id="Modify dimension name and measure name"></a>
+
+To increase readability, we can change the names of dimensions and measures.
+
+#### Modify the dimension name<a id="Modify the dimension name"></a>
+
+1. Click on the **Dimension Name** on the left side of the Define Semantics page to display the dimension details.
+   ![modify dimession](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession.png)
+2. On the Display Dimension Details page, click the **Edit** button to go to the edit page to change dimension name from **YEAR_BEG_DT** to **YEAR**.
+   ![modify dimession](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession02.png)
+
+3. On the same way, we could change the dimension name by the following table:
+
+| Cube Name        | Table Name   | Original Name | Changed Name |
+| ---------------- | ------------ | ------------- | ------------ |
+| kylin_sales_cube | KYLIN_CAL_DT | YEAR_BEG_DT   | Year         |
+| kylin_sales_cube | KYLIN_CAL_DT | MONTH_BEG_DT  | Month        |
+| kylin_sales_cube | KYLIN_CAL_DT | WEEK_BEG_DT   | Week         |
+
+#### Modify the measure name<a id="Modify the measure name"></a>
+
+1. Similarly, click on the **measure name** on the left side of the definition semantics page to display the metric details.
+   ![modify measure](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure.png)
+
+2. On the Display Metrics Details page, click the **Edit** button to go to the Edit page to change dimension name from **GMV_SUM** to **Total_Sales_Amount**.
+   ![modified measure](/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02.png)
+3. On the same way, we could change the measure name according to the table below:
+
+| Cube Name        | Original Name  | Changed Name       |
+| ---------------- | -------------- | ------------------ |
+| kylin_sales_cube | TRANS_CNT      | Total_Orders_Count |
+| kylin_sales_cube | SELLER_CNT_HLL | Sellers_Count      |
+| kylin_sales_cube | ITEM_BITMAP    | Items_Count        |
+| kylin_sales_cube | GMV_SUM        | Total_Sales_Amount |
+
+### Modify dimension table attributes and dimension attributes<a id="Modify dimension table attributes and dimension attributes"></a>
+
+In order to calculate time intelligence functions such as YTD, MTD, and QTD, it is necessary to adjust the attributes of the related dimension tables and dimensions. We need to change the dimension table property to a time type, and the dimension attributes of year, season and month to year, season and month respectively.
+
+1. **Modify dimension table properties**
+
+   Click on the **Dimension Table Name** on the left side of the Define Semantic page to display the dimension table details.
+   ![dimension property](/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property.png)
+
+   On the `Show Dimension Table Properties` page, click the **Edit** button to go to the edit page, where the dimension table properties are changed from regular to time.
+
+   ![dimenssion property](/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02.png)
+
+2. **Modify dimension attributes**
+
+   According to the method described above, you can change the properties of the edit dimension property page. Here you need to change the properties of the dimension year, quarter and month to year, season and month, and week.
+
+![modify dimenssion](/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03.png)
+
+### Create Hierarchies<a id="Create Hierarchies"></a>
+
+For time dimensions, such as the year, month, day, and other dimensions with hierarchical structure, we generally establish a hierarchy for analysis.
+
+> Notes:
+>   
+> If you need to use time intelligence functions such as YTD, QTD, MTD, WTD, there are the following precautions:
+>
+> 1. Calendar hierarchy must be established.
+> 2. The attributes of the dimensions in the hierarchy are specified as year, season, month, week, and day respectively.
+> 3. When using time intelligence functions in Excel, you need to drag the hierarchy into rows or columns.
+
+Click the **Add Hierrachy** button to add a hierarchy. Here, due to the needs of the analysis, create a hierarchiy called the calendar with dimensions of year, quarter, month, and date.
+
+> Note:
+> 
+> Dimensions in the hierarchy need to be selected in order of concept, for example, year, month, week, and then day.
+
+![add hierachy](/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure.png)
+
+### Create Calculated Measures<a id="Create Calculated Measures"></a>
+
+Add a calculated measure by clicking the **Add Calculated Measure** button.
+
+![add calculate](/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure.png)
+
+The table below lists common expressions, which you could refer to in your projects.
+
+| Calculated Measures | Format String | MDX Expression                                               |
+| ------------------- | ------------- | ------------------------------------------------------------ |
+| Sales_YTD           | #,###,00      | SUM(YTD([DATE_DIM].[calendar-Hierarchy].CurrentMember),[Measures].[Sales_Qty]) |
+| Sales_QTD           | #,###,00      | SUM(QTD([DATE_DIM].[calendar-Hierarchy].CurrentMember),[Measures].[Sales_Qty]) |
+| Sales_MTD           | #,###,00      | SUM(MTD([DATE_DIM].[calendar-Hierarchy].CurrentMember),[Measures].[Sales_Qty]) |
+| Sales_PM            | #,###,00      | SUM(ParallelPeriod([DATE_DIM].[calendar-Hierarchy].[Month],1,[DATE_DIM].[calendar-Hierarchy].CurrentMember),[Measures].[Sales_Qty]) |
+| Sales_PQ            | #,###,00      | SUM(ParallelPeriod([DATE_DIM].[calendar-Hierarchy].[Quarter],1,[DATE_DIM].[calendar-Hierarchy].CurrentMember),[Measures].[Sales_Qty]) |
+| Sales_PY            | #,###,00      | SUM(ParallelPeriod([DATE_DIM].[calendar-Hierarchy].[Year],1,[DATE_DIM].[calendar-Hierarchy].CurrentMember),[Measures].[Sales_Qty]) |
+| Sales_MOM           | 0.00%         | ([Measures].[Sales_Qty]-[Measures].[Sales_PM])/[Measures].[Sales_PM] |
+| Sales_YOY           | 0.00%         | ([Measures].[Sales_Qty]-[Measures].[Sales_PY])/[Measures].[Sales_PY] |
+
+### Define Translation<a id="Define Translation"></a>
+
+In MDX for Kylin, you can embed multiple translation of a caption to provide culture-specific strings based on the localed identifier (LCID).
+
+This feature helps international teams to consume the same dataset without the need to repeatedly defining the dataset for localization purposes.
+
+#### Note<a id="Note"></a>
+
+1. There are three language supported: Chinese, English(US), and English(UK).
+2. The objects that can be set are **names of the dimension table, dimension, measure, calculated measure, and hierarchy**. If a dimension is defined with a translation, then it will also be applied in the hierarchy containing the dimension.
+3. If the language in the analysis application client is not defined in the dataset translation, the dataset will use the default language. When using Excel, Excel will pass the LCID as language settings in Excel. For Tableau users, the language settings of the Windows system will be applied, so you can change the translations of the dataset displayed in Tableau by changing the language setting of the Windows system.
+4. When creating a new calculated measure, please reference the measure in the original name, instead of the translation in the MDX expression.
+
+#### How to set translation<a id="How to set translation"></a>
+
+1. When editing a dataset, go to translation, click the globe icon to add a language.
+   ![add language](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation.png)
+
+2. Choose a language in the new column and click confirm.
+   ![add language](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02.png)
+
+3. In this new group of translation, the user can input the translation of table names, dimensions or measures.
+   ![add language](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03.png)The above translation defines the Chinese-English translation of the year and month.
+
+### Edit Dimension Usage<a id="Edit Dimension Usage"></a>
+
+Since Kylin does not support complex many-to-many relationships, so there is no special definition here.
+
+### Save and Create<a id="Save and Create"></a>
+
+Now that you have completed the main work of creating a data set in this tutorial, click the **OK** button.
+
+![image-20220310144027383](/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save.png)
+
+## Analysis in Excel<a id="Analysis in Excel"></a>
+
+We have completed the definition of the data set, and now we can connect to Excel for analysis.
+
+1. Select **Data —> From Analysis Services**
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel.png" alt="mdx excel" style="zoom:50%;" />
+
+2. Next you need to fill in the address information of MDX for Kylin in the **Server Name** column. The sample is as follows:
+   ```http://{host}:{port}/mdx/xmla/{project}```
+   The default port of MDX for Kylin is 7080.
+   The username and password are your MDX for Kylin's login username and password.
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02.png" alt="mdx excel" style="zoom:50%;" />
+
+3. Now the Dataset is connected to Excel. Select the previously created dataset ***Kylin_Sales_Analysis\*** and click Next.
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03.png" alt="mdx excel" style="zoom:50%;" />
+
+4. Check **Always attempt to use this file to refresh the data** and click Finish.
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04.png" alt="mdx excel" style="zoom:50%;" />
+
+5. Now you can analyze MDX for Kylin's dataset using the Excel PivotTable.
+   <img src="/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05.png" alt="mdx excel" style="zoom:50%;" />
+
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/add_hierachy.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/add_hierachy.png
new file mode 100644
index 0000000..a55d6e0
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/add_hierachy.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/add_hierachy_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/add_hierachy_cn.png
new file mode 100644
index 0000000..a55d6e0
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/add_hierachy_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure.png
new file mode 100644
index 0000000..d528bc1
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure_cn.png
new file mode 100644
index 0000000..1f50faa
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/calculate_measure_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset.png
new file mode 100644
index 0000000..8fa68e1
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset_cn.png
new file mode 100644
index 0000000..f81bc04
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/create_mdx_dataset_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property.png
new file mode 100644
index 0000000..aa4f02d
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02.png
new file mode 100644
index 0000000..3f94a8d
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02_cn.png
new file mode 100644
index 0000000..3b0dab9
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property02_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03.png
new file mode 100644
index 0000000..831f9b9
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03_cn.png
new file mode 100644
index 0000000..c69647b
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property03_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property_cn.png
new file mode 100644
index 0000000..a029d96
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/dimension_property_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales.png
new file mode 100644
index 0000000..0cb3eee
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales_ready_cube.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales_ready_cube.png
new file mode 100644
index 0000000..6161fd2
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/kylin_sales_ready_cube.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01.png
new file mode 100644
index 0000000..a5f9031
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01_cn.png
new file mode 100644
index 0000000..1704aa8
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step01_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02.png
new file mode 100644
index 0000000..126a30e
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02_cn.png
new file mode 100644
index 0000000..67e80dd
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_dataset_step02_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel.png
new file mode 100644
index 0000000..6433bb4
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02.png
new file mode 100644
index 0000000..53185d7
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02_cn.png
new file mode 100644
index 0000000..b3118b0
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_02_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03.png
new file mode 100644
index 0000000..32892e9
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03_cn.png
new file mode 100644
index 0000000..2c45458
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_03_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04.png
new file mode 100644
index 0000000..540a747
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04_cn.png
new file mode 100644
index 0000000..d416202
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_04_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05.png
new file mode 100644
index 0000000..ec07b84
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05_cn.png
new file mode 100644
index 0000000..9db72cf
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_05_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_cn.png
new file mode 100644
index 0000000..e58b614
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_excel_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_mdx_step01.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_mdx_step01.png
new file mode 100644
index 0000000..68fba1d
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_mdx_step01.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_mdx_step01_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_mdx_step01_cn.png
new file mode 100644
index 0000000..1704aa8
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_mdx_step01_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project.png
new file mode 100644
index 0000000..338da37
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project_cn.png
new file mode 100644
index 0000000..9d7f56b
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_project_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save.png
new file mode 100644
index 0000000..34eb503
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save_cn.png
new file mode 100644
index 0000000..7d2de7b
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_save_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation.png
new file mode 100644
index 0000000..173fbe5
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02.png
new file mode 100644
index 0000000..3d96b0e
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02_cn.png
new file mode 100644
index 0000000..422b97f
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation02_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03.png
new file mode 100644
index 0000000..60f05c7
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03_cn.png
new file mode 100644
index 0000000..54c332f
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation03_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation_cn.png
new file mode 100644
index 0000000..585ba71
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/mdx_translation_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession.png
new file mode 100644
index 0000000..7f35244
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession02.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession02.png
new file mode 100644
index 0000000..a650b79
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession02.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession_cn.png
new file mode 100644
index 0000000..b3775e9
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_dimession_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure.png
new file mode 100644
index 0000000..bb1814f
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02.png
new file mode 100644
index 0000000..bfa1ad6
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02_cn.png
new file mode 100644
index 0000000..83e93da
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure02_cn.png differ
diff --git a/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure_cn.png b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure_cn.png
new file mode 100644
index 0000000..ab21f73
Binary files /dev/null and b/website/images/tutorial/4.0/Quick-Start-For-Mdx/modified_measure_cn.png differ