【问题标题】:Return first Not NULL value in a partition in a Tableau View在 Tableau 视图的分区中返回第一个 Not NULL 值
【发布时间】:2017-12-10 21:19:49
【问题描述】:

在下面的数据集中,我需要为每个分区返回第一个非空值。有人可以帮忙吗?

数据集:

Item    FirstSold   Name
1       NULL        Jack
1       13          Rob
1       2           Simon
2       NULL        Mat
2       6           Erik
2       12          Rob
3       NULL        Jack
3       9           Gon
3       9           ob
4       NULL        Erik
4       NULL        Rob
4       12          Jack

输出:

Item    Name
1       Rob
2       Erik
3       Gon
4       Jack

有没有办法使用 LOD 来建立这个?

提前致谢。

【问题讨论】:

  • 如果 [Key]=[D1.最小键] 和 [D3.最大键 NULL]=False 和 [D2. Min Key NULL]=False then "Y" elseif [D3. Max Key NULL]=True and [Actv Flag]="Y" and [D2. Min Key NULL]=True then "Y" else "N" END;但无法确定 MAX 和 Min 值何时不同。
  • 如果您的计算取决于查询结果中行的顺序,那么您需要使用表计算或某种自定义 SQL。先试试表格计算。

标签: tableau-api calculation


【解决方案1】:

试试这个:

  1. Place First Sold in 过滤并排除 Null,这将删除 null 并检索非 null。

  2. 创建一个计算字段并使用函数First(),然后转到Edit Table Calculation那里选择表中使用的所有3个字段,然后为每个Item重置表。

  3. 将表格计算放在过滤器上,然后仅选择 0 现在您在报告中有了第一个非空值

【讨论】:

  • 您可能还想决定如何对表 calc 中的“计算使用”字段进行排序,而不是不指定它——即首先定义...
  • @AlexBlakemore 很好。是的,我们甚至可以按数据源顺序进行排序
  • 即使使用数据源顺序,也可以任意更改,除非您指定它。如果您使用自定义 SQL 或视图,当然可以使用 ORDER BY 子句——但我建议在数据源中避免使用它们,而是在 Tableau 中指定顺序。这样,不依赖于顺序的图表,不必支付排序成本,想要以不同顺序显示数据的图表,不必先支付成本以一种方式排序,然后再以另一种方式排序。让数据源完成大部分工作,但通常将排序留给客户端。
猜你喜欢
  • 1970-01-01
  • 2019-02-18
  • 2011-04-08
  • 2017-06-24
  • 1970-01-01
  • 2013-02-26
  • 2017-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多