tableau Fixed函数使用


需求背景

今天遇到一个需求,在tableau中制作的拖拉式表格,需要匹配一个固定值。如表格中已经按时间+部门维度统计销售额、利润等数据,然后需要匹配部门维度的人员数据。因此简单的聚合函数是无法满足的。


一、解决方案

使用fixed函数
这是一个LOD函数,网上搜了下使用方式如下:

理解行级别表达式(Row Level Expressions)和视图级别表达式(View Level Expressions)是理解详细级别表达式(LOD=Level of Detail Expression)的基础;
而理解详细级别表达式与维度、度量的关系,以及LOD与操作顺序,则是深入理解LOD语法的关键——我在续篇中有详细介绍(【数据分析】Tableau详细级别表达式_位置与语法)。

{MIN[profits]}
{Fixed [year] : MIN[profits]}
{Fixed [year] ,[area]: MIN[profits]}
{Fixed [year] ,[area],[products]: MIN[profits]}

二、实战解决

1、先通过excel表关联,每一行都匹配部门人数数据。
2、设置固定维度是销售部门,然后计算字段公式如下:

{Fixed [销售部门]: min([部门人数])}

在这里插入图片描述
3、最后聚合求和可以匹配到每个部门的人数数据


总结

Fixed、include这种“表范围详细级别表达式”,可以深入了解下,好东西。

文章资料来源:
https://zhuanlan.zhihu.com/p/50649291

<think>好的,我现在要帮用户解答关于Tableau函数用法的问题,需要结合提供的引用内容,并且按照用户给的系统级指令来组织回答。首先,我需要确保回答的结构清晰,分步骤解释,同时引用相关段落并添加引用标识。 首先,用户的问题是关于Tableau函数使用方法和示例,我需要先概述Tableau函数的分类,可能根据引用[1]提到的数字函数、字符串函数等类型来展开。然后,需要详细讲解每个类别中的常用函数,每个函数给出用途、语法和示例,同时结合引用中的例子,比如ATTR函数在引用[2]中提到,需要特别解释。另外,引用[4]中的累计函数如RUNNING_SUM和WINDOW_SUM,这部分也要详细说明,可能给出具体的应用场景和示例。 接下来,生成相关问题部分需要根据用户提供的示例中的结构,提出与Tableau函数相关的进一步问题,比如如何选择合适函数、处理数据聚合、常见错误等,确保问题有针对性且能帮助用户深入理解。 同时,要确保所有数学表达式用$...$格式,比如在举例SUM函数时,如果有数学公式的话需要正确应用。但可能Tableau函数本身更多是语法示例,不一定涉及数学公式,但如果有的话要注意格式。此外,独立公式需要用$$...$$,但可能在这种情况下较少使用。 需要检查所有引用是否正确对应,比如引用[2]讨论ATTR函数,引用[4]讨论累计函数,引用[1]和[3]关于函数分类和用途。在回答中引用这些内容时,要在句末自然添加引用标识。 另外,回答要使用中文,保持结构清晰,分点说明,可能分为函数分类、常用函数详解、使用技巧、示例演示等部分。示例部分可能需要用代码块展示计算字段的创建,比如引用[4]中的例子,展示如何创建“年度总销售额”等字段,并配置视图。 最后,生成的相关问题需要与Tableau函数相关,可能涉及函数选择、数据聚合、错误处理、性能优化、与SQL对比等,参考用户示例中的问题结构,提出三个左右的问题。</think>### Tableau函数使用方法及示例 Tableau函数分为数字、字符串、日期、聚合等类别[^1],通过计算字段可实现复杂数据分析。以下是核心函数分类及典型应用: --- #### 一、常用函数分类 1. **聚合函数** - `SUM(字段)`:求和,如`SUM([销售额])`[^4] - `ATTR(字段)`:返回唯一值,若存在多个值则显示`*`,常用于维度验证[^2] - `AVG(字段)`:计算平均值 2. **表计算函数** - `RUNNING_SUM(表达式)`:计算累计值,如`RUNNING_SUM(SUM([销售额]))`[^4] - `WINDOW_SUM(表达式, 起始, 结束)`:窗口求和,如`WINDOW_SUM(SUM([利润]), -2, 0)` 3. **逻辑函数** - `IF 条件 THEN 结果 ELSE 其他 END`:条件判断 ```python # 示例:标记高销售额订单 IF [销售额] > 1000 THEN "高" ELSE "低" END ``` --- #### 二、关键函数详解及示例 1. **ATTR() 函数** - **用途**:检查字段是否为单一值,常用于避免数据粒度的混淆[^2] - **示例**: ```python # 验证“区域”是否唯一 ATTR([区域]) # 若同一分区有多个区域值,结果显示为* ``` 2. **累计计算实现** - **场景**:计算季度累计销售额 ```python # 步骤1:创建“年度总销售额” { FIXED YEAR([订单日期]) : SUM([销售额]) } # 步骤2:创建“累计销售额” RUNNING_SUM(SUM([销售额])) # 步骤3:计算占比 SUM([销售额]) / [年度总销售额] ``` --- #### 三、使用技巧 1. **计算依据设置** - 右键计算字段 → “计算依据” → 选择“表”“单元格”等,确保聚合范围正确[^4] 2. **函数调试** - 使用`PRINT()`或临时字段验证中间结果(需结合TabPy扩展)[^3] --- #### 四、完整示例:季度销售额分析 1. **计算字段** ```python // 年度总销售额 { FIXED YEAR([订单日期]) : SUM([销售额]) } // 季度累计销售额 RUNNING_SUM(SUM([销售额])) ``` 2. **视图配置** - 列:`订单日期`(季度) - 行:`年度总销售额`(离散)、`累计销售额` - 标记区:添加文本标签并设置颜色 最终效果: $$ \text{季度占比} = \frac{\text{当季销售额}}{\text{年度总销售额}} $$ 通过表计算实现动态累计。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值