使用表计算计算Tableau中分区的中位数和平均值

时间:2014-10-02 14:18:00

标签: tableau

我有一个从论坛挖掘的帖子和主题的详细信息表。行是单个主题(即postID和subjectIS是表的主键),然后我在主题级别有一些度量,有些在后级别。例如:

    +---------+-------------+--------------+------------+--------------+--------+
    | post.ID | post.Author | post.Replies | subject.ID | subject.Rank | year   |
    +---------+-------------+--------------+------------+--------------+--------+
    |   1     |   mike      |     10       |    movie   |     4        |  1990  |
    |   1     |   mike      |     10       |    comics  |     6        |  1990  |
    |   2     |   sarah     |      0       |    tv      |    10        |  2001  |
    |   3     |   tom       |      4       |    tv      |    10        |  2003  |
    |   3     |   tom       |      4       |    comics  |     6        |  2003  |
    |   4     |   mike      |      1       |    movie   |     4        |  2008  |
    +---------+-------------+--------------+------------+--------------+--------+

我希望按年度研究帖子和主题的趋势,并按subject.Rank对其进行着色。

第一次很容易测量,将COUNTD(post.ID)和COUNTD(subject.ID)放在行中,将'year'放在列中。 但是如果我在Color中拖动MEDIAN(subject.Rank),我得到了一个错误的结果:它不是在不同的subject.ID级别计算,而是在行级别计算。

我想我可以使用表格计算功能完成它,但我不知道如何继续。

2 个答案:

答案 0 :(得分:1)

听起来您正在尝试将Subject.Rank视为维度,而不是作为衡量标准。如果是这样,只需右键单击该字段并选择维度,即可将其转换为相关工作表上的维度。您还可以通过将“度量”部分中的字段拖动到“维度”部分,将其转换为数据窗格中的维度。这将告诉Tableau将来默认将该字段视为维度。

在某些情况下,字段可以被视为维度,而在其他情况下可以视为度量。取决于你想要达到的目标。如果您熟悉SQL,则使用维度来使用GROUP BY子句对数据行进行分区以进行聚合。

最后,对于大型数据集,count distinct(COUNTD)可能很昂贵。通常,您可以通过另一种方式获得相同的结果。因此,在您真正需要时,请尝试考虑其他方法并保存COUNTD。

答案 1 :(得分:0)

尝试使用{fixed [1st LEVEL],[2nd level]:median()} 要么 表计算方法 当你输入中位数时,在预先计算下有一个编辑表计算使用你把字段放在那里(确保它按你想要的方式排序,当你选择它们时)然后点击确定选择在哪个级别并重新开始