首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tableau中,用通配符公式表示COUNTIF的excel等效值是什么?

在Tableau中,用通配符公式表示COUNTIF的excel等效值是什么?
EN

Stack Overflow用户
提问于 2021-02-10 22:13:16
回答 2查看 352关注 0票数 1

我正在一张Tableau桌子上工作,我想:

  1. 在维度中隔离特定的字符串记录,然后
  2. 计算特定字符串在该维度中出现的实例(所有记录都是如此)。记录中可能包含多个但不同的文本。

假设我的维度名为"Person Type“,我有5条记录,分别具有以下值:雇员、访问者、雇员;访问者、申请人、访问者;申请人

我知道我可以首先在维度上创建一个过滤器,只显示单一的记录类型: Employee、Visitor、申请者,但是我遇到困难的地方是创建一个计算,查看所有记录并计算单词"Employee“存在的实例等等。在excel中,带有文本通配符的COUNTIF公式处理此操作。

这是我想要完成的事情的一个excel屏幕截图。

屏幕截图

编辑:尝试了一个非常接近解决方案的计算。由于某种原因,当申请人有两个明显的例子时,它并不算在内。有人知道如何改进计算吗?

代码语言:javascript
复制
    IF CONTAINS([Person Types],'Employee') THEN "Employee"

ELSEIF CONTAINS([Person Types],'Visitor') THEN "Visitor"

ELSEIF CONTAINS([Person Types],'Applicant') THEN "Applicant"
END

结果 问题

EN

回答 2

Stack Overflow用户

发布于 2021-02-10 22:37:35

您可以在LOD中使用包含函数,该函数在Excel中的操作方式类似于*X*

所以,就像:

{ FIXED [NEWFIELD]: SUM(INT(CONTAINS([PERSON],"Employee"))) }

密码

代码语言:javascript
复制
    IF CONTAINS([Person Types],'Employee') THEN "Employee"

ELSEIF CONTAINS([Person Types],'Visitor') THEN "Visitor"

ELSEIF CONTAINS([Person Types],'Applicant') THEN "Applicant"
END

如果存在"Applicant"或“访问者”,则不会正确计算它们,因为它们将优先(每个if按顺序测试)。例如,"Visitor; Applicant"将返回"Visitor"

此外,CONTAINS是区分大小写的,因此您可能希望转换为所有大写,以确保任何细微的大小写差异都匹配。

代码语言:javascript
复制
IF CONTAINS(UPPER([Person Types]),"APPLICANT") THEN "Applicant"
票数 1
EN

Stack Overflow用户

发布于 2021-02-11 07:09:35

为了演示,我重新创建了一个示例,如您在屏幕截图中所显示的(建议始终在代码中直接复制和粘贴一些行数据)。

步骤(Tableau Desktop)虽然在准备中更容易-

  • 在连接数据后的data source窗格中,单击person type字段上的向下箭头,然后单击split
  • 将自动创建两个新字段(假设一条记录中的最大person类型为2)或多行将被创建。(强烈建议让Tableau准备)在tableau准备中,您可以直接转到这些字段。参见方法这里。但是在Tableau Desktop中并没有计算出的字段。
  • 将数据与自身合并为n(在本例中为2)次数。请参阅GIF以获得帮助

  • 创建一个计算字段,比如person types (我故意添加了一个s来区分),使用以下计算
代码语言:javascript
复制
// A single person_type for each row.
CASE [Table Name]
WHEN "Sheet1" THEN [Person Type - Split 1]
WHEN "Sheet11" THEN [Person Type - Split 2]
END

排除null值,您可以创建所需的视图。

不用说,您必须按照计算字段[table name] 中的情况更改的值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66145880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档