TABLEAU:如何从多个列中创建单个计算字段,过滤

时间:2018-03-26 09:00:54

标签: tableau

我对画面相当新,并且已经在各种在线帮助论坛中进行了搜索,但未找到与我相似的版本。因此在这里张贴。不确定这是一个相当简单的还是复杂的(我认为!)

我有3列(2个维度和1个度量),我想根据维度列中的一些字符串出现使用度量列。

让列为“事件”,“屏幕”和“时间”

让值如下表所示(注意:还有许多其他值以及这些值,但我只需要在小写的情况下,即NULL和NAVIGATION被排除)

enter image description here

我想要一个单个计算字段,其中包含三个步骤,产生如下:

活动中2个“提交名称”的发生次数) - (提交相应“名称”的AVG 时间)(来自活动 )* 事件)中“提交的名称”的计数                           的 +

事件中2个“添加地址”的数量) - (相应“添加地址”的AVG 时间(来自屏幕) )* 事件)中“添加地址”的计数 的 +

事件中出现“订单已创建”次数的2 *) - (“订单”+“订单明细”+“订单确认”的相应总和的AVG 时间 “(来自屏幕)* 事件中出现”订单已创建“的次数

我的方法:

我已将事件屏幕尺寸拖到过滤器窗格,并选择了所有值,包括NAVIGATION和NULL(因为这些字段对应于我在计算中需要的时间)它并没有完全奏效!

我还为计算的三个步骤(上面)中的每个步骤创建了事件和屏幕的参数,但它也没有用!

那么,实现上述计算的最佳方法是什么?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以在计算中考虑过滤器。因此,对于您的第一部分,它可能类似于以下内容:

(2*count(if [Event]='name submitted' then [number of records] end)) - avg(if [Event]='name submitted' then [time] end)*count(if [Event]='name submitted' then [number of records] end)

我不确定您的操作顺序,但您可以根据需要进行调整。为您的其他计算重复此格式。

答案 1 :(得分:0)

这样的东西?请注意,示例数据与示例计算(提交的名称与提交的名称)之间的大小写存在差异,因此您可能需要针对此进行调整。

(
    (2 * SUM(IIF([Event] = 'Name submitted',1,NULL)))
    - 
    (
        AVG(IIF([Event] = 'Name submitted',[Time],NULL))
        * SUM(IIF([Event] = 'Name submitted',1,NULL))
    )
)

+

(
    (2 * SUM(IIF([Event] = 'Address added',1,NULL)))
    -
    (
        AVG(IIF([Screen] = 'Add address',[Time],NULL))
        * SUM(IIF([Event] = 'Address added',1,NULL))
    )
)

+

(
    (2 * SUM(IIF([Event] = 'order created',1,NULL)))
    -
    (
        AVG(IIF([Screen] = 'orders'
                OR [Screen] = 'order detail'
                OR [Screen] = 'order confirmation'
            ,[Time],NULL))
        * SUM(IIF([Event] = 'order created',1,NULL))
    )
)