添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
新建计算字段

新建计算字段

更新时间:

当您分析的数据并不能直接从数据表中获取,而需要基于原始数据进行加工时,可以新建计算字段。

前提条件

您已创建数据集,请参见 创建并管理数据集

背景信息

Quick BI支持丰富的字段计算,帮助您灵活的处理数据:

  • 聚合

    例如通过客户名称统计客户数: COUNT(DISTINCT [客户名称])

  • 四则运算

    例如计算客单价: [成交金额] / [客户量]

  • 字符的分割与合并

    例如将省份和城市拼接: CONCAT([省份], [城市])

  • 复杂分组

    例如将满足一定条件的客户等级定义为VIP客户: CASE WHEN [成交金额]>1000 AND [成交笔数]>5 THEN 'VIP' ELSE '普通' END

配置方式

  1. 在数据预览页面,单击 新建计算字段

    新建计算字段

  2. 新建计算字段 页面,配置参数后,单击 确定

    1. 输入字段名称。

    2. 点击引用函数 点击引用字段 ,编辑字段表达式。其中引用的函数分为 系统内置函数 数据库函数

      系统内置函数 :BI系统内置的计算函数,可屏蔽底层数据库差异,适用于各类数据库。

      系统内置函数具体使用介绍请参见 系统内置函数

      数据库函数 :底层数据库提供的原生函数,不同数据库会有不同的原生函数。

      在编辑表达式时,您需要关注以下几点:

      • 您也可以在表达式编辑框输入 [ 唤出列表来插入度量字段名称。

      • 表达式中输入的括号均为半角括号。即,在英文输入法中输入的括号。

      常见的字段表达式示例请参见 场景举例

    3. 选择 数据类型 字段类型 后,单击 确定

      image

      当数据类型选择 度量 时,支持设置 数值格式化 为整数、保留1位小数、保留2位小数、百分比、百分比1位小数、百分比2位小数、自定义和手动输入。

      其中手动输入显示格式,例如#,##0.00%,只能由大小写字母数字和_#,.%组成,长度不超过50个字符,具体使用方法请参考Excel自定义格式语法。

      image

    新建的计算字段也可以直接被引用再做二次计算,满足您复杂计算的场景。

    例如, 利润金额 = 订单金额 - 成本金额 利润率 = 利润金额 / 订单金额

场景举例

  • 聚合函数

    • 求和: SUM([字段])

    • 计数: COUNT([字段])

    • 计数去重: COUNT(DISTINCT [字段])

    • 求平均值: AVG([字段])

    配置了聚合计算的计算字段,将根据仪表板中配置的维度自动进行聚合运算。

  • 四则运算

    • 支持加减乘除运算

    • 例如从订单明细表计算客单价: SUM([成交金额] )/ COUNT(DISTINCT [客户名称])

  • 复杂的分组场景

    对维度进行分组的场景,简单的单字段分组可以支持使用 分组维度 功能,当您需要针对多个字段组合条件后分组,此时可以用 CASE WHEN 函数。例如,

    CASE 
    WHEN [成交金额]>5000 AND [成交笔数]>40 THEN 'VVIP' 
    WHEN [成交金额]>1000 AND [成交笔数]>5 THEN 'VIP' 
    ELSE '普通' END

    客户字段

  • 字符拼接

    假设数据表中分别有省份、城市2个字段,您可以使用字符串拼接函数,将省份城市合并到一个字段中。

    CONCAT(a, b, c, d) :将需要合并的字段加入括号中,英文逗号分隔。如果合并的时候多列之间希望增加分隔符,可以分隔符加英文单引号。

    例如, CONCAT([省份],'-', [城市]) 字符拼接

  • 字符串处理

    可以使用字符串函数,对文本进行处理。

    不同数据库函数不同导致字符串处理方式有所差异,本文以MySQL函数举例。

    • 字符截取:

      SUBSTRING([客户名称],1,1) :[客户名称]字段,从第1个字符开始,取1个字符。

      SUBSTRING([字段]) :开始位置,截取字符串长度。 字符截取

    • 查找一个字符串中另一个字符串的位置:

      INSTR([客户名称],'东') : 查找 [客户名称] 中是否含有 ‘东’ 字,如果有,返回位置,如果没有,返回0。 字符串位置

  • 日期时间处理等

    Quick BI针对日期和时间字段自动拆解成多个时间颗粒度,并且可以自定义显示格式,已经可以满足很多日期和时间颗粒度和格式处理相关的场景。

    除此之外,可以使用数据库日期相关函数进行数据加工,可在函数列表搜索DATE搜索到相关的函数。

    例如:不同数据库函数不同导致日期时间处理方式有所差异,本文以MySQL函数举例。

    • 当前日期: CURRENT_DATE

    • 入职天数: DATEDIFF(CURRENT_DATE, [入职日期]) ,返回入职日期距离今天的天数

    • 到期日期: ADDDATE([付款日期], 365) ,返回付款日期后365天的日期

  • LOD函数详细级别计算

    如果分析过程中需要添加一个 维度 ,其 明细程度 高于或者低于已有视图的可视化明细程度,但又不希望改变现有图形展示内容,就可采用详细级别表达式功能。例如:

    • 计算每个区域的销售额总和: lod_fixed{[区域]:SUM([订单金额])}

      image..png

    • 分析客户复购情况: lod_fixed{[用户id]:count(distinct([订单id]))}

      image..png

      详细请参见 分析函数(LOD函数)