【问题标题】:how to display all of the MIN, MAX, AVERAGE, AND MEDIAN from the results如何显示结果中的所有 MIN、MAX、AVERAGE 和 MEDIAN
【发布时间】:2020-11-16 13:27:07
【问题描述】:

我有一张这样的桌子

order_id | user_id | createdAt | transaction_amount

order_id为交易的id,user_id为用户,createdAt为日期,transaction_amount为每个id订单的交易。

所以这是这个问题的继续how to display max, min, median, and average from tableau

在那张图片上,就是user_id,右边是每个用户的交易频率。有3139条数据。

因此,基于该解决方案,我从窗口计算中得到了最大最小平均值和中值

最大WINDOW_MAX(COUNTD([Order Id]), FIRST(), LAST()) 最小WINDOW_MIN(COUNTD([Order Id]), FIRST(), LAST()) 平均WINDOW_AVERAGE(COUNTD([Order Id]), FIRST(), LAST()) 中位数WINDOW_MEDIAN(COUNTD([Order Id]), FIRST(), LAST())

所以我把列和行的计算结果是 users_id

我想要的是,如何将这些数字转换成这样的

所以最小值(1)、最大值(12)、平均值(1.72)和中值(1)只出现一次,不会出现很多且混乱。

【问题讨论】:

  • 你能给我一个样本数据/表吗?一会儿我给你看
  • 好的,等我编辑一下
  • 完成了,我把表的结构放好了
  • 好的,基本上我想把与已经制作的过滤器匹配的用户的中值、最小值、最大值和平均值放在一起
  • 在计算这些 LOD 之前要计算的过滤器,应通过右键单击将它们添加到上下文中。否则,您的过滤器将在计算 Max/Min 等之后应用。

标签: tableau-api


【解决方案1】:

这是我提出的解决方案。由于window 函数在特定上下文中工作,我建议使用 LOD 进行这些计算。(上下文已经在所有 LOD 计算中固定,因此这些与工作表的视图上下文无关

Step-1将四个计算字段设为

  1. Max Frequency作为
Max({FIXED [User]:COUNTD([order_id])})
  1. “最小频率”为
Min({FIXED [User]:COUNTD([order_id])})
  1. 平均频率为
AVG({FIXED [User]:COUNTD([order_id])})
  1. 中值频率为
MEDIAN({FIXED [User]:COUNTD([order_id])})

根据需要将所有四个添加到交叉表视图。使用的样本数据-

user    trans date  order_id
user1   02-12-2019  1
user1   02-01-2020  2
user2   03-01-2020  3
user3   03-12-2019  4
user3   04-12-2019  5
user4   01-02-2020  6
user4   02-02-2020  7
user5   02-01-2020  8
user5   03-01-2020  9
user1   03-02-2020  10
user1   03-03-2020  11
user3   03-01-2020  12
user3   03-02-2020  13
user1   04-02-2020  14

想要的视图截图

我认为这可以解决您的问题。祝你好运。

【讨论】:

  • 我的用户的过滤器怎么样?插入过滤器时是否可以使用?
  • 将过滤器添加到上下文中,以便在计算 Max/Min 等之前计算这些过滤器。
  • 为什么结果不同?平均 12(应该是 1.72),最大 219(应该是 12),最小 2(应该是 1)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
  • 2017-03-15
  • 2015-04-05
  • 1970-01-01
  • 2015-10-02
相关资源
最近更新 更多