知识库

显示包含混合数据的总计


发布时间: 30 Jan 2013
上次修改日期: 20 Jul 2023

问题

如何在使用混合数据时显示总计。

例如,当主数据源中的计算字段引用辅助数据源中的字段时,针对总计返回的结果可能不会反映预期的数字。
 

环境

  • Tableau Desktop
  • 数据混合

答案

附带的工作簿中使用示例数据集“Superstore”演示了全部三个选项。
选项 1:
使用跨数据库联接而不是混合来联接数据源。有关说明,请参见联接数据
选项 2:使用 WINDOW_SUM() 创建计算
  1. 将链接字段从辅助数据源拖到“标记”卡上的“详细信息”。
  2. 使用类似于如下的计算创建一个计算字段:
    If FIRST()=0 THEN WINDOW_SUM(<Calculated Field that references Field in Secondary Data Source>) END
  3. 将引用辅助数据源中的字段的计算字段替换为步骤 2 中创建的计算字段
  4. 在功能区上右键单击替换计算,并选择“编辑表计算...”
  5. 在“表计算”对话框中,执行以下操作:
    1. 选择“特定维度”
    2. 仅检查链接字段
  6. 导航到“分析”>“标记叠加”>“关闭”
  7. 可选:为视图中的所有度量重复步骤 2-5
注意: 必须在主数据源中创建计算,并引用辅助数据源中的字段。

选项 3:使用 INCLUDE 创建计算
修改原始计算,使计算的非相加部分包含在详细级别 (LOD) INCLUDE 表达式内。例如,计算

AVG([Discount])+ SUM([Category Costs].[Cost])

可能会变为:

SUM({ INCLUDE [Sub-Category] : AVG([Discount]) })
+ SUM([Category Costs].[Cost])


注意: 只有当确定详细级别和非相加表达式的维度位于同一数据源中时,此选项才起作用。详细级别 (LOD) 表达式不能包括来自多个数据源的字段。

其他信息

只有非相加表达式会出现此问题,非相加表达式是指在合计设置为“汇总依据”>“自动”时必须在进行合计之前按特定详细级别计算的表达式。自动总计将忽略视图中的详细级别,并在整个数据集上对计算进行运算。举例来说,如果视图显示每日平均值,则自动总计将在视图中显示整个数据集的平均值,而不是所有每日平均值的总和。

使用来自辅助数据源的字段的计算只能显示自动总计。

此文章是否已解决问题?