首页 > 解决方案 > 需要 Tableau 详细级别修复

问题描述

图片

上面是实际 Tableau 布局的图片链接,以及带有前后过滤器的表格结构

我有两个表——用户和类别

用户表:用户表有 userid、name、title、channel、team、sub-team 列。我使用 Tableau 过滤器从中过滤掉了三个标题。约 700 个用户

类别表:此表有用户 ID、类别名称、子类别名称、日期列。该表实质上捕获了哪些用户最常使用哪个子类别。~15000 条记录

用户表
LEFT JOIN
类别表

我在用户 ID 上使用了左连接。我使用 Tableau 过滤器过滤了三个标题,现在我总共有 350 个用户以及针对每个用户 ID 的类别使用情况。

我需要输出表之类的东西,但是,我还想为所有列添加详细信息级别。例如,当我选择 6 个通道之一时,我希望数字动态变化。

为了获得用户总数(350),我使用公式创建了一个计算字段:

{ FIXED [Title Set]: COUNTD([UserID])}.

此外,为了按渠道获取固定总值,我创建了一个计算字段:

IF [Channel_parameter] = 'All Channels' THEN [Total Active Users (by Channel, title)]
ELSEIF [Channel_parameter] = '1' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '1' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '2' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '2 THEN [UserID] END)}
ELSEIF [Channel_parameter] = '3' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '3' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '4' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '4' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '5' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '5' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '6' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '6' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '7' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '7' THEN [UserID] END)}
END

但是,当我在参数中选择特定通道时,我会得到正确的结果,但是当我选择“所有通道”时,它会抛出错误的结果,这是实际 350 数字的 7 倍。我尝试了多个使用 Fixed 和 Include 函数的用例,但无法正确使用。有人能帮我吗?

标签: tableau-apilevel-of-detail

解决方案


仅带有 Title-set 的 Fixed-function 解决了这个问题。


推荐阅读