仅定位每个值为零的行

时间:2018-04-09 15:54:16

标签: tableau zero

更新(2018年4月18日)

我的要求与此问题相比略有变化(因为我现在还需要能够保留零值行),但是底层元素仍然是能够定位包含零值的所有行的能力穿过。

我已调整标题以相应地反映更新的要求。

因此,这个例子可能有助于更清楚地解释事情。

在这个例子中,我想只保留那些一直有零的行。

我会保留行4791215161719(旁边有红点的行):

enter image description here

原始问题:

我希望将数据集中的行排除在显示每个值为零的位置,而不仅仅是某些值。

我已经应用了一个过滤器来排除零值,并且已经部分地工作,因为它已经排除了所有零行,但是它还隐藏了在具有零值以外的行中存在零的单元格

enter image description here

这个问题是我想在行中有其他>0值的地方显示零值;我只想排除整个行包含零的零值。

相反,我希望能够在单独的工作表中仅显示每个值为零的行

当我反转过滤器时,它会向我显示那些在非零过滤器上仍然可见的行的反转(白色空间显示非零值的位置):

enter image description here

如何实现这一目标?

修改

为了使事情更清楚,我想删除每个值/单元格为零的行

我想显示包含非零数字的任何行,即使它只是整行中的一个元素。

(作为参考,我发布的图片都不是理想的,因为每张图片都介于两者之间。)

某些背景:

这些值与呼叫中心运营商在工作日的每个小时内可用的分钟数有关。

考虑这个例子:

     ___|_1100_1159_|_1200_1259_|_1300_1359_|_1400_1459_|_1500_1559_|
     _A_|_____0_____|_____15____|_____10____|_____45____|_____10____|
     _B_|_____0_____|_____0_____|_____0_____|_____0_____|_____0_____|
     _C_|_____0_____|_____0_____|_____0_____|_____0_____|_____0_____|
     _D_|_____5_____|_____0_____|_____0_____|_____0_____|_____0_____|

将我的函数/公式应用于此表后,我想要的结果是行BC不再显示,仅适用于行AD留下来。

该功能将是这样的:

IF(SUM OF ENTIRE ROW VALUE ACROSS ALL HOURS == 0)
THEN EXCLUDE ROW
ELSE DISPLAY ROW
END IF

不幸的是,问题并不像隐藏或显示零值那么简单;这是一个条件问题,我希望隐藏所有零值行,除非行中存在非零值,在这种情况下,我想显示行以及所述行中的零值。

1 个答案:

答案 0 :(得分:0)

假设您正在寻找行级过滤器来识别数据源中的各个行,那么:

  1. 创建一个名为 Zero_In_All_Fields?的计算字段,或者对您最有意义的任何内容。我偶尔的惯例是用?命名布尔值字段?在末尾。将字段定义为[Field_1] = 0 and [Field_2] = 0或更有意义。对于符合条件的数据行,此字段将返回true。
  2. 将新的计算字段放在过滤架上。根据需要选择True或False。
  3. 您还可以在计算中使用布尔计算字段,在视觉效果的其他书架中使用,设置条件等。

    <强> REVISED

    上面的方法显示了如何过滤掉数据行 - 基本上是SQL中的WHERE子句。如果你要做的是过滤掉一些维度,比如拥有所有零总计的员工,那就是生成影响SQL HAVING子句的不同过滤器。

    我假设您的可视化中的每一行都显示了每位员工的某些指标的总计。在这种情况下,将Employee放在Filter工具架上,编辑过滤器,选择Condition选项卡,然后输入类似于Sum([Field_1]) = 0 and Sum([Field_2]) = 0的条件

    显然,字段名称和聚合函数,sum,min,max等的选择取决于问题。

    在这种特殊情况下,如果您的字段永远不会有负值,则可以将条件简化为Sum([Field_1] + [Field_2]) = 0