在交叉表

时间:2017-10-24 07:58:20

标签: tableau crosstab

我在供应商和订单接受状态之间有交叉表,其中包含数字的最大值。

我需要创建一个像这样的公式: IF ACCEPTED > MISSING THEN "GOOD" ELSE "BAD"

你能帮忙解决这个问题吗?

enter image description here

这是我使用公式建议得到的,这是我应该得到的

ORDER   |   ACCEP   |   MISSING |   SHOULDBE    |   NOW     |       
-------------------------------------------------------------------------------
61010   |   6       |   0       |   GOOD        |   GOOD    |   FORMULAOK   
61011   |   3       |   12      |   BAD         |   BAD     |   FORMULAOK   
63239   |   9       |   11      |   BAD         |   BAD     |   FORMULAOK   
66749   |   0       |           |   BAD         |   GOOD    |   FORMULAnotOK    
76824   |   2       |   1       |   GOOD        |   BAD     |   FORMULAnotOK 

2 个答案:

答案 0 :(得分:0)

使用 SUM() INT()功能进行条件检查,将布尔值转换为数字并添加数字以获取总计数。然后它只是一个比较。

IF SUM(INT([ACCEPTANCESTATUS]="ACCEPTED")) > SUM(INT([ACCEPTANCESTATUS]="MISSING")) 
   THEN "GOOD" ELSE "BAD" END

答案 1 :(得分:0)

您的数据已经过旋转,您只需编写一个计算字段就可以构建伪代码:

IF SUM([ACCEP]) > SUM([MISSING]=) 
THEN "GOOD" 
ELSE "BAD" 
END

如果您希望为每一行计算值(而不是聚合),则可以删除sum元素。