首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对满足特定要求的行数进行计数,然后从另一个计数中减去该数字

对满足特定要求的行数进行计数,然后从另一个计数中减去该数字
EN

Stack Overflow用户
提问于 2021-02-27 02:33:44
回答 1查看 36关注 0票数 0

假设我有这样的数据:

Type

OrderNumber

Priority

DeliveryMethod

Boxes

1

High

UPS

Misc

1

High

UPS

Boxes

2

Standard

InstaBox

Boxes

3

Standard

UPS

Boxes

3

Standard

UPS

Boxes

3

Standard

UPS

Boxes

4

Standard

Instabox

Boxes

5

Standard

Instabox

Boxes

5

Standard

Instabox

Boxes

6

Standard

UPS

Boxes

7

Standard

UPS

我想清点所有所谓的“私人订单”。它们是具有唯一订单编号和标准优先级和UPS送货的盒子。(在这个例子中有2个,6和7)然后我想计算所有具有标准优先级的盒子,并减去所有私人订单。(有9个框具有标准优先级,减去2个私人订单=7。)

这在Tableau是可能的吗?我想在文本框中显示数字7。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-27 09:13:25

对于

使用此字段

代码语言:javascript
复制
IF 
{FIXED [Type], [Ordernumber] : COUNT([Ordernumber])} = 1
AND [Type] = 'Boxes' And [Priority] = 'Standard' And [DeliveryMethod] = 'UPS'
THEN 1 ELSE 0 END

对于所有的盒子,使用这个

代码语言:javascript
复制
Sum(
If [Type] = 'Boxes' And [Priority] = 'Standard' then 1 else 0 end
)

因此,对于最终输出,您可以直接使用下面的命令

代码语言:javascript
复制
Sum(
If [Type] = 'BOXES' And [Priority] = 'Standard' then 1 else 0 END
) -
Sum(IF 
{FIXED [Type], [OrderNumber] : COUNT([OrderNumber])} = 1
AND [Type] = 'BOXES' And [Priority] = 'Standard' And [DeliveryMethod] = 'UPS'
THEN 1 ELSE 0 END)

对于匹配模式,将上面的字段更改为

代码语言:javascript
复制
Sum(
If [Type] = 'BOXES' And [Priority] = 'Standard' then 1 else 0 END
) -
Sum(IF 
{FIXED [Type], [OrderNumber] : COUNT([OrderNumber])} = 1
AND [Type] = 'BOXES' And [Priority] = 'Standard' And REGEXP_MATCH([DeliveryMethod], "UPS")
THEN 1 ELSE 0 END)

使用的数据

结果

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

https://stackoverflow.com/questions/66391082

复制
相关文章

相似问题

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