tableau使用笔记—fixed函数

没有检索到摘要

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fixed函数的使用;

官方文档:FIXED 详细级别表达式使用指定的维度计算值,而不引用视图中的维度。

使用场景—计算一段时间内的新增会员人数

  1. 直接可以使用COUNTD([VIPID]),然后加入时间维度就能得到结果;
  2. 尝试使用{ FIXED [VIPID]:COUNTD([记录数])},{FIXED [创建日期]:COUNTD([VIPID])}两个新增计算字段来对结果进行比较;

在这里插入图片描述
——在不加入任何维度的情况下,3者并无差异;
在这里插入图片描述
——当加入[创建日期]作为维度时,3者仍然没有差异;
在这里插入图片描述
——当把VIPID拉动到试图的筛选区时,在VIPID中去除的NULL,在{FIXED [创建日期]:COUNTD([VIPID])}中仍然有计数;

  • 在使用fixed函数时,加入其他函数以外的维度时,会发生聚合差异?
  • 在写{ FIXED [VIPID]:SUM([销售]))}时,把片区维度加入视图时,同样发生集合差异;
### TableauFIXED 公式的使用方法 FIXED 表达式是一种 Level of Detail (LOD) 表达式,它允许用户在数据源级别执行复杂的聚合操作,而不必将所有数据加载到 Tableau 的可视化界面中[^2]。这种表达式的主要特点是能够固定某些维度进行计算,从而忽略其他过滤条件的影响。 #### FIXED 表达式的基本语法 FIXED 表达式的通用形式如下: ```plaintext {FIXED [Dimension1], [Dimension2], ... : AGG([Measure])} ``` 其中 `[Dimension1], [Dimension2], ...` 是固定的维度列表,而 `AGG([Measure])` 则是对某个度量值的聚合函数(如 SUM, AVG 等)。这些固定的维度不会受到上下文筛选器或其他动态筛选器的影响[^3]。 --- #### 示例 1:按区域计算总销售额并保持不变 假设有一个超市销售数据集,希望无论应用何种筛选器,都能看到每个区域的固定总销售额。可以创建以下 FIXED 表达式: ```plaintext {FIXED [Region] : SUM([Sales])} ``` 此表达式的作用是针对每个唯一的 `[Region]` 值计算一次 `[Sales]` 的总和,并将其作为固定值存储下来。即使后续添加了额外的筛选器(例如日期范围),该结果也不会受到影响。 --- #### 示例 2:处理不可加度量(如合同金额) 如果存在一个场景,即某一字段(如合同金额)在同一销售项目中有多个重复记录,则可以通过 FIXED 表达式来解决这一问题。例如: ```plaintext {FIXED [Project ID] : MAX([Contract Amount])} ``` 上述公式表示对于每一个唯一 `[Project ID]` 计算其最大合同金额。这样就可以避免因多行数据而导致的错误累加[^4]。 --- #### 示例 3:结合上下文筛选器与 FIXED 表达式 当 FIXEX 表达式中的维度被放置到筛选器中时,只有满足筛选条件的数据会被保留下来参与计算。例如,如果我们定义了一个 FIXED 表达式 `{FIXED [Region] : SUM([Sales])}` 并将 `[Region]` 放入颜色标记卡以及筛选器中设置为“东北”,那么最终 SQL 查询逻辑相当于: ```sql SELECT SUM(Sales_FIXED_REGION) FROM ( SELECT Region, SUM(Sales) AS Sales_FIXED_REGION FROM Supermarket GROUP BY Region ) WHERE Region = 'Northeast'; ``` 这表明 FIXED 表达式的计算结果会在最后一步再接受来自筛选器的进一步约束。 --- #### 时间趋势图中的双柱图与折线图组合 为了实现时间精确到日的时间趋势图,可利用 DATEPART 或 DATETRUNC 函数配合 FIXED 表达式完成更精细的分析。例如,要绘制每日收入及其累计总额的变化曲线,可以用以下两个计算字段: - **每日总收入** ```plaintext {FIXED DATETRUNC('day', [Order Date]) : SUM([Sales])} ``` - **累积总收入** ```plaintext RUNNING_SUM( {FIXED DATETRUNC('day', [Order Date]) : SUM([Sales])} ) ``` 接着将这两个字段拖拽至图形编辑区即可形成所需的双柱图加折线图结构[^1]。 --- ### 注意事项 尽管 FIXED 表达式功能强大,但在实际运用过程中需要注意性能优化问题。由于它是基于整个数据源而非当前视图来进行运算,因此可能会增加服务器负载。建议合理控制所涉及的维度数量以减少不必要的资源消耗。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值