智能商业分析 Quick BI 常用函数

智能商业分析 Quick BI 常用函数指南

Quick BI 作为阿里云提供的智能商业分析工具,提供了丰富的函数支持,帮助用户高效处理和分析数据。本文将介绍 Quick BI 中最常用的几类函数及其实际应用场景。

1. 空值处理函数:IFNULL

语法IFNULL(expression, replacement)

功能:当表达式结果为 NULL 时,返回指定的替代值;否则返回表达式本身的值。

应用场景

  • 处理缺失的访客数据
  • 避免计算中出现 NULL 值导致结果异常

示例

IFNULL([游客数],0) + IFNULL([访客数],0)

这个公式将游客数和访客数相加,如果任一字段为空,则用 0 替代,确保总数计算的准确性。

2. 去重计数函数:COUNT(DISTINCT)

语法COUNT(DISTINCT column)

功能:计算指定列中不重复值的数量。

应用场景

  • 统计独立用户数量
  • 计算唯一员工数量
  • 分析去重后的客户群体规模

示例

COUNT(DISTINCT [员工号])

此公式用于统计系统中不重复的员工数量,避免因数据重复导致的统计偏差。

3. 详细级别表达式(LOD):

语法LOD_INCLUDE{[dimension] : aggregation}

LOD(Level of Detail)表达式是 Quick BI 中强大的分析功能,允许在不同数据粒度级别上进行计算。Quick BI 主要支持三种 LOD 表达式类型:LOD_INCLUDELOD_EXCLUDELOD_FIXED

3.1 LOD_INCLUDE

语法LOD_INCLUDE{[维度] : 聚合函数}

功能:在当前视图的维度基础上,额外包含指定的维度进行聚合计算。

特点

  • 扩展现有分组维度
  • 计算粒度比当前视图更细
  • 结果会根据新增维度进行细分

示例

LOD_INCLUDE{[产品类别] : SUM([销售额])}

如果当前视图按"地区"分组,此表达式会同时按"地区"和"产品类别"分组计算销售额总和。

适用场景

  • 需要查看更细分维度的数据
  • 在现有分析基础上增加维度层次

3.2 LOD_EXCLUDE

语法LOD_EXCLUDE{[维度] : 聚合函数}

功能:从当前视图的维度中排除指定的维度进行聚合计算。

特点

  • 减少当前分组维度
  • 计算粒度比当前视图更粗
  • 忽略指定维度的影响

示例

LOD_EXCLUDE{[月份] : AVG([销售额])}

如果当前视图按"地区"和"月份"分组,此表达式会忽略"月份"维度,只按"地区"计算平均销售额。

适用场景

  • 需要对比当前详细数据与汇总数据
  • 计算基准值或参考值
  • 分析某个维度对整体的影响

3.3 LOD_FIXED

语法LOD_FIXED{[维度] : 聚合函数}

功能固定使用指定的维度进行聚合计算,完全忽略当前视图的分组维度。

特点

  • 完全独立于当前视图维度
  • 计算粒度由指定维度决定
  • 结果在所有行中保持一致(如果维度相同)

示例

LOD_FIXED{[产品类别] : SUM([销售额])}

无论当前视图如何分组,此表达式始终按"产品类别"计算销售额总和。

适用场景

  • 需要绝对固定的参考基准
  • 跨不同分析视角的统一计算
  • 创建不随视图变化的指标

对比总结表

特性LOD_INCLUDELOD_EXCLUDELOD_FIXED
维度处理添加维度移除维度固定维度
计算粒度更细更粗独立
依赖当前视图是(基础上添加)是(基础上移除)
典型用途细分分析基准对比绝对参考

实际应用示例

假设我们有销售数据包含:地区、产品类别、月份、销售额

场景:分析各地区各月份的销售额,并与该地区的年度平均销售额对比

  • 当前视图:按地区、月份分组
  • LOD_EXCLUDE 表达式LOD_EXCLUDE{[月份] : AVG([销售额])}
    • 计算每个地区不考虑月份的平均销售额
  • 对比分析:将每月销售额与地区平均值对比,识别表现优异或不佳的月份
    示例
LOD_INCLUDE{[渠道] : COUNT(DISTINCT [用户id])}

这个表达式会按渠道维度计算独立用户数,即使当前报表的分组维度不是渠道,也能获得每个渠道的准确用户统计。

4. 数值格式化函数:ROUND

语法ROUND(expression, decimal_places)

功能:将数值四舍五入到指定的小数位数。

应用场景

  • 财务数据的精确展示
  • 比率和百分比的格式化
  • 提高报表的可读性

示例

ROUND(SUM([支付金额]) / SUM([赔偿金额]), 2)

此公式计算支付金额与赔偿金额的比率,并保留两位小数,便于财务分析和决策。

5. 条件判断函数:CASE WHEN

语法

CASE 
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  ...
  ELSE default_result
END

功能:根据不同的条件返回相应的结果值。

应用场景

  • 商品价格区间分类
  • 客户等级划分
  • 业绩目标达成情况判断

示例

CASE 
  WHEN [商品单价] >= 100 AND [商品单价] < 200 THEN '100-200'
  WHEN [商品单价] >= 300 AND [商品单价] < 400 THEN '300-400'
  WHEN [商品单价] >= 500 THEN '500以上'
  ELSE '其他'
END

这个表达式将商品按单价划分为不同的价格区间,便于进行价格段分析和营销策略制定。

最佳实践建议

  1. 组合使用:这些函数可以组合使用,创建更复杂的分析逻辑
  2. 性能考虑:LOD 表达式和去重计数可能影响查询性能,建议在必要时使用
  3. 数据验证:使用 IFNULL 等函数前,先了解数据的空值分布情况
  4. 业务对齐:条件判断的阈值应与业务需求保持一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值