跳到主要内容

Tableau 核心功能

问题

Tableau 的核心分析能力是什么?计算字段和 LOD 表达式怎么用?

答案

Tableau 基础概念

概念说明
维度(Dimension)分类字段(地区、产品线),用于分组
度量(Measure)数值字段(收入、数量),用于聚合计算
工作表(Sheet)单个图表
仪表板(Dashboard)多个工作表组合成看板
故事(Story)按顺序组织的多个仪表板

计算字段

Tableau 计算字段示例
-- 利润率
[利润] / [收入]

-- 同比增长率
(SUM([本期收入]) - LOOKUP(SUM([收入]), -1)) / LOOKUP(SUM([收入]), -1)

-- 条件判断
IF [利润率] >= 0.3 THEN "高利润"
ELSEIF [利润率] >= 0.1 THEN "中利润"
ELSE "低利润"
END

-- 日期截断
DATETRUNC('month', [订单日期])

-- 字符串拼接
[城市] + " - " + [区域]

LOD 表达式(Level of Detail)

LOD 是 Tableau 的核心高级功能,允许在不同粒度计算聚合。

类型语法作用
FIXED{FIXED [维度] : AGG([度量])}忽略视图粒度,按指定维度聚合
INCLUDE{INCLUDE [维度] : AGG([度量])}在视图粒度基础上增加维度
EXCLUDE{EXCLUDE [维度] : AGG([度量])}在视图粒度基础上去掉维度
LOD 表达式示例
-- 每个客户的总消费(FIXED 到客户粒度)
{FIXED [客户名称] : SUM([销售额])}

-- 每个客户的首次购买日期
{FIXED [客户ID] : MIN([订单日期])}

-- 留存分析:首次购买月份
DATETRUNC('month', {FIXED [客户ID] : MIN([订单日期])})

-- 各区域中每个产品的占比
SUM([销售额]) / {FIXED [区域] : SUM([销售额])}
LOD 应用场景
  • 客户分析:客户首次购买、LTV、购买频次
  • 留存分析:按首次购买月分群
  • 占比计算:品类占总收入的比例
  • 对比分析:各门店 vs 全国平均

表计算

函数作用示例
RUNNING_SUM累计求和累计收入
LOOKUP前后值引用同比/环比
RANK排名产品排名
WINDOW_AVG窗口平均移动平均
INDEX行号Top N 筛选

Tableau 最佳实践

实践说明
Extract 而非 Live大数据量用 Extract 提升性能
善用参数让用户动态切换维度/度量
集(Sets)用于 Top N、交叉对比
操作(Action)实现图表联动和下钻
布局容器水平/垂直容器控制仪表板布局

常见面试问题

Q1: LOD 表达式中 FIXED/INCLUDE/EXCLUDE 有什么区别?

答案

  • FIXED:完全忽略视图中的维度,只按指定维度聚合(最常用)
  • INCLUDE:在视图维度的基础上额外按指定维度聚合
  • EXCLUDE:在视图维度中去掉指定维度后聚合
  • 经验:90% 以上场景用 FIXED 就够了

Q2: Tableau 如何实现同比/环比?

答案

  • 快速方式:右键度量 → 快速表计算 → 年同比增长(YoY)
  • 计算字段LOOKUP(SUM([收入]), -1) 引用前一个值
  • 日期计算DATEADD('year', -1, [日期]) 获取去年同期

Q3: Tableau 性能优化有哪些方法?

答案

  1. Extract 替代 Live 连接
  2. 减少工作表中的标记数(< 10 万个点)
  3. 避免在高基数字段上使用 LOD
  4. 上下文筛选器(Context Filter)提前过滤
  5. 减少仪表板中的工作表数量(< 10 个)

相关链接