【问题标题】:Group calculation in TableauTableau 中的分组计算
【发布时间】:2021-03-04 14:55:45
【问题描述】:

我有一些数据,我想在其中创建一个查询,该查询将根据 tableau 中的组 ID 执行 2 次单独的计算

这是我的数据

id  total   avail
A   10  5
A   40  20
B   20  10
B   10  5
B   10  5
A   20  10
A   20  10
B   10  5
B   10  5

我希望将所有“A”id 分组并将它们相加(Group1) 我希望将所有“B”ID 分组并平均它们。 (组2)

这就是我正在做的:

首先将 ID 分组:

IF [Id] = 'A' THEN 'Group1'
ELSEIF [Id] = 'B' THEN 'Group2'
ELSE 'none'
END

现在进行计算:

IF ATTR([group]) = 'Group1' THEN  SUM('A') ELSEIF
ATTR([group]) = 'Group2' THEN  SUM(['B'])/SUM(['B']) ELSE 0
END

但是,这是不正确的。我还在研究这个。 任何建议表示赞赏。

【问题讨论】:

    标签: if-statement tableau-api visualization


    【解决方案1】:

    这里有一个建议 - 在 Tableau 中创建组(通过右键单击该字段而不是通过计算进行这些)。

    我正在根据之前的采样数据给出解决方案。

    使用的数据样本-

    +--------------+-----+-----------+--------+------+
    | total_backup | sku | available | date   | used |
    +--------------+-----+-----------+--------+------+
    |           10 | A   |         5 | Sep-19 |    5 |
    +--------------+-----+-----------+--------+------+
    |           20 | B   |         5 | Sep-19 |   15 |
    +--------------+-----+-----------+--------+------+
    |           30 | B   |        10 | Sep-19 |   20 |
    +--------------+-----+-----------+--------+------+
    |           10 | C   |         5 | Sep-19 |    5 |
    +--------------+-----+-----------+--------+------+
    |           10 | C   |         5 | Sep-19 |    5 |
    +--------------+-----+-----------+--------+------+
    |           10 | Z   |         1 | Sep-19 |    9 |
    +--------------+-----+-----------+--------+------+
    |           10 | Z   |         1 | Sep-19 |    9 |
    +--------------+-----+-----------+--------+------+
    |           20 | Y   |        10 | Sep-19 |   10 |
    +--------------+-----+-----------+--------+------+
    |           30 | Y   |        10 | Sep-19 |   20 |
    +--------------+-----+-----------+--------+------+
    |           40 | X   |        10 | Sep-19 |   30 |
    +--------------+-----+-----------+--------+------+
    |           40 | A   |        15 | Sep-20 |   25 |
    +--------------+-----+-----------+--------+------+
    |           20 | A   |        10 | Sep-20 |   10 |
    +--------------+-----+-----------+--------+------+
    |           10 | B   |         5 | Sep-20 |    5 |
    +--------------+-----+-----------+--------+------+
    |           40 | C   |        15 | Sep-20 |   25 |
    +--------------+-----+-----------+--------+------+
    |           50 | C   |        15 | Sep-20 |   35 |
    +--------------+-----+-----------+--------+------+
    |           10 | Z   |         5 | Sep-20 |    5 |
    +--------------+-----+-----------+--------+------+
    |           10 | Z   |         2 | Sep-20 |    8 |
    +--------------+-----+-----------+--------+------+
    |           20 | Y   |         5 | Sep-20 |   15 |
    +--------------+-----+-----------+--------+------+
    |           10 | X   |         2 | Sep-20 |    8 |
    +--------------+-----+-----------+--------+------+
    

    创建一个新的计算字段desired new val as

    zn(sum(if [Sku (group)]= 'sum group' then [val] end))
    +
    zn(avg(if [Sku (group)] = 'avg group' then [val] end))
    

    最后一步将您的视图构建为

    附注要添加工具提示,您无需保留“总计”列。无论如何都可以添加。

    【讨论】:

    • 嗨@AnilGoyal 只是想知道您为什么说使用右键单击选项来创建组与计算字段。这样更优惠吗?
    • 是的!速度更快,出错的机会也更少
    猜你喜欢
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2014-05-16
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    相关资源
    最近更新 更多