LOD表达式
详细级别表达式(LOD Expression)是处理在一个可视化视图中包含多个级别粒度的问题的方法。
详细级别指的是数据不同粒度(聚合度),共有3种不同的详细级别:
- 行级别表达式(聚合度最低)
- 视图级别表达式
- 表级别表达式(聚合度最高)
行级别表达式是直接引用基础表的未聚合数据列的表达式。此时,表达式的维度是行级别的(如果表有主键的话,维度即主键)。例如:
1 | [Profit Ratio]=[Sales] / [Profit] |
通过将每行的销量除以利润,可以得到利润率[ProfitRatio]的新列。
视图级别表达式是引用聚合数据源列的表达式。此时,表达式的维度是当前SQL视图的维度。例如:
1 | SUM(Sales)/SUM(Profit) |
表级别表达式是指不使用任何范围关键字的表达式。例如以下表达式返回整个表的最早订单日期:
1 | {MIN([Order Date])} |
在 Tableau 支持详细级别表达式之前,无法在视图级别以外的详细级别创建计算。例如,用户的意图是将每个商店的商店销售额与所有商店的平均销售额进行比较,如果您尝试保存以下表达式,Tableau 将显示错误消息:“无法使用此函数混合聚合和非聚合参数”:
1 | [Sales] – AVG([Sales]) |
在这种情况下,详细级别表达式就派上了用场。详细级别表达式提供了对视图详细级别之外的数据计算聚合的简单方法,实现在可视化中以任意的方式组合这些数据。