欢迎查看本教程。 本教程通过数据集 Kylin Sales,构建一个数据集 ,并说明如何创建并在 Excel 中使用数据集进行分析。章节快速导航:

您将掌握的内容

在本教程中,您将了解以下内容:

  • 如何在 MDX for Kylin 中创建数据集;
  • 如何在 MDX for Kylin 的数据集中创建层级结构和常用的计算度量(例如 YTD、QTD、MTD、YOY 和 MOM);
  • 如何在 MDX for Kylin 的数据集中修改维度表、维度属性、度量属性和维度用法。
  • 如何通过 Excel 连接 MDX for Kylin 进行分析。

前置条件

要完成本教程的所有课程,您将需要准备如下内容:

  • 本次教程主要以 MDX for Kylin Docker 环境作为演示。
  • 完成 MDX for Kylin Docker 的安装,详见 快速试用 MDX for Kylin
  • 在 MDX for Kylin 对接的 Kylin 中构建好的 Kylin Sales cube。

更多详情,请参考 MDX for Kylin 手册

准备操作

  1. 在 Kylin 中创建 Kylin Sales 的 Model/Cube。

    当前 Docker 环境启动默认带有 learn_kylin项目,并且生成 kylin_sales_modelkylin_sales_cube.

    kylin sales

  2. 构建 kylin_sales_cube

    built cube

创建 MDX 数据集

至此,我们已经完成了准备工作,接下来就可以开始进行分析工作。

填写基本信息

  1. 由于 Kylin 中的 Cube 创建在项目 learn_kylin 中,所以此处项目名称选择 learn_kylin
    mdx project
  2. 打开数据集菜单,点击创建数据集按钮。
    mdx dataset
  3. 然后您将进入数据集设计页面。填写数据集名称: Kylin_Sales_Analysis 。完成后点击 下一步 按钮。
    mdx dataset step 01

定义模型关系

此次分析将简单分析关于 Kylin_Sales 的数据是否存在某种关系。

拖拽模型 kylin_sales_cube 进入右侧画布, 完成后点击 下一步 按钮。
mdx dataset step 02

修改维度名称和度量名称

为了增加可读性,我们可以更改维度和度量的名称。

修改维度名称

  1. 点击定义语义页面左侧的维度名称,即可显示维度详情。
    modify dimession

  2. 在显示维度详情页面,点击编辑按钮,即可进入编辑页面,此处将维度 YEAR_BEG_DT 的名称改为 年份
    modify dimession 02

同样的依照如上方式,并按下表,更改维度名称:

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

修改度量名称

  1. 同样的,点击定义语义页面左侧的度量名称,即可显示度量详情。
    modify measure

  2. 在显示度量详情页面,点击编辑按钮,即可进入编辑页面,此处将度量 GMV_SUM 的名称改为 销售总额
    modify measure 02

同样的依照如上方式,并按下表,更改度量名称:

Cube 名称 原度量名称 更改后度量名称
kylin_sales_cube TRANS_CNT 销售订单总数
kylin_sales_cube SELLER_CNT_HLL 销售用户总数
kylin_sales_cube ITEM_BITMAP 销售用品总数
kylin_sales_cube GMV_SUM 销售总额

修改维度表属性和维度属性

为了计算 YTD、MTD、QTD 等时间智能函数,所以需要调整相关维度表和维度的属性。我们需要将维度表属性改为时间类型。并将年、季、月的维度属性分别更改成年、季、月。

  1. 修改维度表属性
    点击定义语义页面左侧的维度表名称,即可显示维度表详情。

    dimession property

    在显示度量详情页面,点击编辑按钮,即可进入编辑页面,此处将维度表属性由常规,改为时间。

    dimession proper

  2. 修改维度属性
    按照上文介绍的方法,进入编辑维度属性页面,即可更改其属性,此处需要将维度年份、季度和月份的属性改为年、季和月。

    dimension property 03

创建层级结构

对于时间维度,例如年、月、日这样的具有层级关系结构的维度,我们一般会建立层级结构,用于分析

提示:

若需要使用YTD、QTD、MTD、WTD这类时间智能函数,有以下注意事项:

  1. 必须要建立日历层级结构
  2. 层级结构中的维度的属性分别被指定为年、季、月、周、日
  3. 在 Excel 使用时间智能函数时,需要将该层级结构拖入行或者列中

点击 维度列表的右上角的 新增层级结构 按钮,以新增层级结构。此处由于分析的需要,创建名为日历结构的层级结构,其中的元素为年份、季度、月份、周、日期。

提示:

层级结构中的维度,需要按照概念从大到小的顺序选择,例如,年、月、周、日。

add hierachy

创建计算度量

点击度量列上右上角的 新增计算度量 按钮即可添加计算度量。

add calculate measure

下方表格列出了常见的计算度量表达式,供用户参考。

计算度量名称 格式 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].[上年销售产品数量]

定义翻译

MDX for Kylin 中,您可以嵌入一个基于区域设置标识符 (LCID)来设置指定地域的信息来获取对应区域的语言设置,并展示对应数据集各项实体的名称

这项功能有助于国际化的团队分析同一份数据集,从而节省重复定义数据集的工作,同时也保证不同的团队使用的数据口径是统一的。

备注

  1. 目前仅支持中国、美国、英国三种语言设置。
  2. 目前可设置的实体为维表、维度、度量、计算度量和层级。如果某维度定义了翻译,那么包含该维度的层级也会使用翻译的名称。
  3. 如果分析应用客户端使用的语言没有在数据集定义,那么数据集将采用默认语言。如果您使用是 Excel,不同语言设置的 Excel 将会使用不同的 LCID。
  4. 在 MDX 表达式中引用维度,度量等实体时,请使用默认名称进行引用,而不要使用翻译的名称。

配置步骤

  1. 点击添加翻译语言的按钮;
    mdx translation

  2. 在增加的一列中选择翻译对应的语言,并点击右侧的勾确定添加;
    mdx translation 02

  3. 在新增的翻译语言中根据需求,可以设置对应维表、维度、度量名称等的翻译。
    mdx translation 03

以上翻译定义了年月的中英文翻译。

编辑维度用法

由于 Kylin 暂不支持复杂的多对多关系等,所以此处不做特殊定义。

确定并保存

至此您已经完成了本教程中数据集创建的主要工作,点击 确定 按钮即可。

mdx save

在 Excel 中分析

我们已经完成了数据集的定义,现在就可以对接 Excel 进行分析了。

  1. 选择 数据 —> 自 Analysis Services
    mdx excel

  2. 接下来您需要在服务器名称一栏中填写连接 MDX for Kylin 的地址信息,样例如下:
    http://{host}:{port}/mdx/xmla/{project}
    MDX for Kylin 默认端口号是 7080,用户名和密码请填写 MDX for Kylin 系统的登录用户名和密码。
    mdx excel 02

  3. 现在Excel 已经被连接到 数据集了。选择此前创建的的数据集 Kylin_Sales_Analysis,点击下一步。
    mdx excel 03

  4. 勾选总是尝试文件来刷新数据,点击完成。
    mdx excel 04

  5. 现在,您可以使用 Excel 透视表分析 MDX for Kylin 的数据集了。
    mdx excel 05

源码

MDX for Kylin 源码地址:https://github.com/Kyligence/mdx-kylin