You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tableau中按周计算表1与表2的记录数比值并制作图表?

在Tableau中按周计算两张表记录数的比值

刚好处理过类似的需求,给你一步步拆解怎么实现这个按周展示的比值图表:

步骤1:统一周维度的计算

首先得把两张表的日期都转换成相同规则的“周”维度,这样才能对齐计算。

  • 给表1创建计算字段表1_周:
    DATE_TRUNC('week', [created_at])
    
    (小提示:Tableau默认周起始是周日,要是需要周一作为起始,去「文件>工作簿设置>区域设置」里调整就行)
  • 给表2创建计算字段表2_周:
    DATE_TRUNC('week', [post_date])
    

步骤2:统计每周各自的记录数

接下来要分别算出两张表每周的总记录数,这里用LOD表达式最方便,能跨视图固定按周统计:

  • 创建表1每周记录数计算字段:
    {FIXED [表1_周]: COUNT([表1.ID])}
    
    这里COUNT([表1.ID])是统计表1每周的行数,要是ID可能为空,换成COUNT(1)更稳妥。
  • 同理创建表2每周记录数:
    {FIXED [表2_周]: COUNT([表2.ID])}
    

步骤3:计算比值(避免除以0的坑)

直接用两个记录数字段相除就行,但记得加个判断防止除以0报错:
创建周记录数比值计算字段:

IF [表2每周记录数] = 0 THEN NULL ELSE [表1每周记录数] / [表2每周记录数] END

要是业务上需要把无数据的情况显示为0,把NULL改成0就行。

步骤4:搭建可视化图表

  • 把表1_周(或者表2_周,因为已经按周对齐了)拖到列功能区,选「离散」的日期格式,这样会显示每周的起始日期;
  • 把周记录数比值拖到行功能区,选折线图或柱状图都可以;
  • 最后可以加个标签显示具体比值,或者添加参考线看整体趋势,按需调整就行。

额外提示:处理无关联的两张表

要是你的两张表在数据源里没做关联,用数据混合就能解决:

  1. 把表1设为主数据源,把表1_周设为链接字段;
  2. 添加表2作为次要数据源,把表2_周和主数据源的表1_周做链接;
  3. 这样Tableau会自动按周对齐两张表的数据,不用额外做表关联。

内容的提问来源于stack exchange,提问作者Omnia Mohamed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:18:21