
# 新建维度
分析的数据并不能直接从数据表中获取，而需要基于原始数据进行加工时，可以新建维度。通过新建维度，可以将原始数据转化为更加有意义的信息，例如基于销售价格和成本的原始数据可以新建利润的新维度。本文为您介绍如何新建维度。
#### 前提条件
- 已创建项目，请参见[创建并管理DataArts Insight项目](https://support.huaweicloud.com/usermanual-dataartsinsight/dataartsinsight_03_0002.html)。

- 已接入数据源，请参见[接入数据源](https://support.huaweicloud.com/usermanual-dataartsinsight/dataartsinsight_0_0455.html)。
- 已创建数据集，请参见[创建数据集](https://support.huaweicloud.com/usermanual-dataartsinsight/dataartsinsight_03_0457.html)。
 
#### 操作步骤
1. 登录[智能数据洞察控制台](https://auth.huaweicloud.com/authui/login.html?#/login)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000001831547921.png)，选择区域，单击右上角的企业项目，选择企业项目。
3. 在控制台上方单击"项目"后，单击项目名称，进入项目页面。
4. 在项目页面单击"数据管理 \> 数据集"，进入数据集页面。
5. 单击数据集名称，进入数据集编辑页面。
6. 单击"新建维度"，进入新建维度页面。
   图1新建维度   
   ![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000002259370765.png "点击放大")
   
   
7. 配置参数后，单击"确定"，完成维度创建。
   1. 创建方式：公式编辑。数据类型支持数值、文本、日期、日期时间。详细参数请参考[表1]。
      ![](https://support.huaweicloud.com/usermanual-dataartsinsight/public_sys-resources/note_3.0-zh-cn.png)
      - 在使用表达式时，请确保输入的括号为英文输入法下的括号。
      
      - 请使用各个数据源所支持的函数。
       
       表1参数说明 
      | 参数名    | 说明                                                                                                                                                                                                                                                                                                                                                                 |
      |:---|:---|
      | 数据类型   | 支持创建数据类型为数字、文本、日期、日期时间的维度。                                                                                                                                                                                                                                                                                                                                         |
      | 绑定条件   | 只支持数值和文本类型维度绑定条件。 - 新建或切换数据类型，需要保存后才能编辑。  - 绑定条件属于字段层面的配置项，绑定条件后只对该字段生效。                          |
      | 默认筛选器  | 只支持数值和文本类型维度添加默认筛选器。 - 新建或切换数据类型，需要保存后才能编辑。  - 添加默认筛选器后，数据集将应用该筛选器：若智能问答、仪表板场景中未添加其他筛选条件，将自动返回默认筛选器过滤后的数据。   |
      | 点击引用函数 | 通过函数对数据进行加工，支持日期函数、文本函数和数值函数。                                                                                                                                                                                                                                                                                                                                      |
      | 点击引用字段 | 数据集的维度和度量。                                                                                                                                                                                                                                                                                                                                                         |
      | 字段表达式  | 字段的属性表达式，直观帮助您理解数据加工的过程。                                                                                                                                                                                                                                                                                                                                           |
         
      表2日期函数 
      | 函数             | 用法                            | 说明                     |
      |:---|:---|:---|
      | CURRENT_DATE   | CURRENT_DATE()                | 返回当前日期。                |
      | CURRENT_TIME   | CURRENT_TIME()                | 返回当前时间。                |
      | NOW            | NOW()                         | 返回当前日期和时间。             |
      | UNIX_TIMESTAMP | UNIX_TIMESTAMP()              | 以UNIX时间戳的形式返回当前时间。     |
      | UNIX_TIMESTAMP | UNIX_TIMESTAMP(d)             | 将时间d以UNIX时间戳的形式返回。     |
      | FROM_UNIXTIME  | FROM_UNIXTIME(d)              | 将UNIX时间戳的时间转换为普通格式的时间。 |
      | MONTH          | MONTH(d)                      | 返回日期d中的月份值，1到12之间。     |
      | DAYOFWEEK      | DAYOFWEEK(d)                  | 计算日期d今天是星期几。           |
      | DAYOFYEAR      | DAYOFYEAR(d)                  | 计算日期d是本年的第几天。          |
      | DAYOFMONTH     | DAYOFMONTH(d)                 | 计算日期d是本月的第几天。          |
      | QUARTER        | QUARTER(d)                    | 返回日期d是第几季节，返回1到4。      |
      | HOUR           | HOUR(t)                       | 返回t中的小时值。              |
      | MINUTE         | MINUTE(t)                     | 返回t中的分钟值。              |
      | SECOND         | SECOND(t)                     | 返回t中的秒钟值。              |
      | DATEDIFF       | DATEDIFF(d1,d2)               | 计算日期d1和d2之间相隔天数。       |
      | ADDDATE        | ADDDATE(d,n)                  | 计算起始日期d加上n天的日期。        |
      | ADDDATE        | ADDDATE(d,INTERVAL expr type) | 计算起始日期d加上一个时间段后的日期。    |
      | SUBDATE        | SUBDATE(d,n)                  | 日期d减去n天后的日期。           |
      | SUBDATE        | SUBDATE(d,INTERVAL expr type) | 日期d减去一个时间段后的日期。        |
      | DATE_FORMAT    | DATE_FORMAT(d,f)              | 按表达式f的要求显示日期d。         |
      | TIME_FORMAT    | TIME_FORMAT(t,f)              | 按表达式f的要求显示时间t。         |
         
      表3文本函数 
      | 函数          | 用法                     | 说明                                 |
      |:---|:---|:---|
      | CHAR_LENGTH | CHAR_LENGTH(s)         | 返回字符串s的字符数。                        |
      | LENGTH      | LENGTH(s)              | 返回字符串s的长度。                         |
      | CONCAT      | CONCAT(s1,s2,...)      | 将字符串s1，s2等多个字符串合并为一个字符。            |
      | CONCAT_WS   | CONCAT_WS(x,s1,s2,...) | 以第一个参数为分隔符，连接第二个以后的所有参数。           |
      | UPPER       | UPPER(s)               | 将字符串s的所有字母变成大写字母。                  |
      | LOWER       | LOWER(s)               | 将字符串s的所有字母变成小写字母。                  |
      | LEFT        | LEFT(s,n)              | 返回字符串s的前n字符。                       |
      | RIGHT       | RIGHT(s,n)             | 返回字符串s的后n个字符。                      |
      | LPAD        | LPAD(s1,len,s2)        | 字符串s2来填充s1的开始处，使字符串长度达到len。        |
      | RPAD        | RPAD(s1,len,s2)        | 字符串s2来填充s1的结尾处，使字符串长度达到len。        |
      | LTRIM       | LTRIM(s)               | 去掉字符串s开始处的空格。                      |
      | RTRIM       | RTRIM(s)               | 去掉字符串s结尾处的空格。                      |
      | TRIM        | TRIM(s1 FROM s)        | 去掉字符串s和结尾处的字符串s1。                  |
      | REPEAT      | REPEAT(s,n)            | 将字符串s重复n次。                         |
      | REPLACE     | REPLACE(s,s1,s2)       | 将字符串s2替代字符串s中的字符串s1。               |
      | SUBSTRING   | SUBSTRING(s,n,len)     | 获取从字符串s中的第n个位置开始长度为len的字符串。        |
      | LOCATE      | LOCATE(s1,s)           | 从字符串s中获取s1的开始位置。                   |
      | INSTR       | INSTR(s,s1)            | 从字符串s中获取s1的开始位置。                   |
      | REVERSE     | REVERSE(s)             | 将字符串s的顺序反过来。                       |
      | MD5         | MD5(str)               | 可以对字符串str进行散列，可以用于一些普通的不需要解密的数据加密。 |
         
      表4数值函数 
      | 函数      | 用法          | 说明                                          |
      |:---|:---|:---|
      | ABS     | ABS(x)      | 返回x的绝对值。                                    |
      | CEIL    | CEIL(x)     | 返回大于或等于x的最小整数。                              |
      | FLOOR   | FLOOR(x)    | 返回小于或等于x的最大整数。                              |
      | RANDOM  | RANDOM()    | 返回0.0至1.0之间的随机数。                            |
      | SIGN    | SIGN(x)     | 返回x的符号，x是负数、0、正数，分别返回-1、0和1。                |
      | PI      | PI()        | 返回圆周率。                                      |
      | TRUNC   | TRUNC(x, y) | 返回数值x保留到小数点后y位的值。                           |
      | ROUND   | ROUND(x)    | 返回离x最近的整数。                                  |
      | ROUND   | ROUND(x, y) | 保留x小数点后y位的值，但截断时需要进行四舍五入。                   |
      | POWER   | POWER(x,y)  | 返回x的y次方。                                    |
      | SQRT    | SQRT(x)     | 返回x的平方根。                                    |
      | EXP     | EXP(x)      | 返回e的x次方。                                    |
      | MOD     | MOD(x,y)    | 返回x被y除后的余数。                                 |
      | LOG     | LOG(x)      | ORA和TD兼容模式下，表现为以10为底的对数。MySQL兼容模式下，表现为自然对数。 |
      | RADIANS | RADIANS(x)  | 将角度转化为弧度。                                   |
      | DEGREES | DEGREES(x)  | 将弧度转换为角度。                                   |
      | SIN     | SIN(x)      | 求正弦值，参数是弧度。                                 |
      | ASIN    | ASIN(x)     | 求反正弦值，参数是弧度。                                |
      | COS     | COS(x)      | 求余弦值，参数是弧度。                                 |
      | ACOS    | ACOS(x)     | 求反余弦值，参数是弧度。                                |
      | TAN     | TAN(x)      | 求正切值，参数是弧度。                                 |
      | ATAN    | ATAN(x)     | 求反正切值，参数是弧度。                                |
      | COT     | COT(x)      | 求余切值，参数是弧度。                                 |
         
      
   
   2. 可视化编辑：仅能根据单一维度派生分组维度，如果需要根据多维度派生出更为复杂的新维度，请使用公式编辑器。
      1. 选择分组字段。
      
      2. 设置分组，选择分组字段值。
      
      3. 单击刷新预览，单击"确定"。
       
    
 
#### 场景示例
数据集支持根据特定的维度对数据进行分组，例如本例对年龄字段分组，分为未成年、青年、中年、老年这几个不同的年龄段，分别查看每个年龄段商品的购买情况。
1. 登录[智能数据洞察控制台](https://auth.huaweicloud.com/authui/login.html?#/login)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000001831547921.png)，选择区域，单击右上角的企业项目，选择企业项目。
3. 在控制台上方单击"项目"后，单击项目名称，进入项目页面。
4. 单击"数据管理 \> 数据集"，进入数据集页面。
5. 单击数据集名称，进入数据集编辑页面。
6. 在"数据预览"页签右侧单击"新建维度"。
7. 编辑维度信息。
   - **示例1：本例使用可视化编辑方式新建年龄分组，并定义分组年龄段如下：**
     1. 可视化编辑仅能根据单一维度派生分组维度，如果需要根据多维度派生出更为复杂的新维度，请使用公式编辑器。
        1. 0岁≤未成年\<18岁
        
        2. 18岁≤青年\<40岁
        
        3. 40岁≤中年\<60岁
        
        4. 老年≥60岁
           图2新建维度年龄分组   
           ![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000001836077657.png "点击放大") 
         
     
     2. 单击"确认"，维度信息添加成功。
     
     3. 在"数据预览"页签右侧单击"刷新预览"，查看新建的维度信息。
        图3查看维度信息   
        ![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000001912933885.png "点击放大") 
     
     4. 在后续的数据分析中即可分析与新维度相关的信息。
        图4使用新建维度制作仪表板   
        ![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000001863844093.png "点击放大") 
      
   
   - 示例2：**本例使用公式编辑：商品价格=销售价格-商品利润，新建维度** **商品价格** 。
     1. 参数输入完成后，单击"确认"。
        图5新建维度   
        ![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000001789318126.png "点击放大") 
     
     2. 在"数据预览"页签右侧单击"刷新预览"，查看新建的维度信息。
        图6查看维度信息   
        ![](https://support.huaweicloud.com/usermanual-dataartsinsight/zh-cn_image_0000001836077661.png "点击放大") 
     
     3. 在后续的数据分析中即可分析与新维度相关的信息。
      
    
 
