需要在Tableau中计算布尔值

时间:2019-03-05 14:44:55

标签: tableau

我在Tableau中使用mongo,并且有一个布尔值“ verified”,显示为true vs false。

每个用户都可以在他/她的记录中添加“证书”,然后我们使用管理工具将证书标记为verify:true或authenticated:false。我想显示一个简单的表,其中包含每个用户的证书数量,然后是另一列,其中包含已验证的数量。

当前,我使用的是“ COUNTD([Certifications.Verified])”来计数已验证的数量,但我认为它不是在准确计数。

这只是在计算“已验证”子模式是否以真或假状态存在,因此数字不准确。请注意,在某些情况下,该节点不存在,并显示为空。

我需要计算是否经过验证的结果为true,如果不存在经验证的节点,则为1;否则为0。

如何添加逻辑以在Tableau中对此进行精确计数?

更新:感谢您对Mongo进行查询,但我正在寻找Tableau自定义字段来显示此内容。

3 个答案:

答案 0 :(得分:0)

您将要在.aggregate()运算符中使用$cond管道操作。它将允许您基于条件指定您希望返回的内容,在您的情况下为Verified字段。我不知道您的数据的结构,但我可以想象使用这样的方法:

$sum: { $cond: ["$Certifications.Verified", 1, 0] }

如果Verified对于该证书为true,它将返回1,该值将在$sum运算符中说明。是否要使用$group运算符或$project之类的东西来创建此求和字段,将取决于您的偏好/用例。

答案 1 :(得分:0)

您可以使用它返回计数。

schemaName.find({Certifications.Verified : true}).count(function (error,count) { 
  console.log(count);
});

如果存在已验证的证书= true,则返回非零值(无文档满足条件) 否则返回0

答案 2 :(得分:0)

RowID替换表的任何键:

COUNTD(IIF([Certifications.Verified]=1, RowID, NULL))