簡體   English   中英

TABLEAU:如何通過多列過濾創建單個計算字段

[英]TABLEAU: How to create a single calculated field from multiple columns filtering

我對Tableau還是相當陌生,並且已經在各種在線幫助論壇中進行了搜索,但是未能找到與我類似的論壇。 因此在這里發布。 不知道這是一個簡單明了的還是復雜的(我認為!)

我有3列(2個維度和1個度量),並且我想基於來自維度列的某些字符串出現次數來使用度量列。

將列設為“事件”,“屏幕”和“時間”

使其值如下表所示(注意:還有許多其他值,但我只需要小寫的值,即不包括NULL和NAVIGATION)

在此處輸入圖片說明

我想要一個包含三個步驟的計算字段 ,其結果如下:

(2 * 事件中“提交名稱” 事件的次數 )-(相應“名稱提交” 事件的 AVG 時間 (來自事件 )* 事件中“名稱提交” 事件的次數
+

(事件中2 *“添加地址” 事件的發生次數)-(相應“添加地址”的AVG 時間 (從屏幕顯示 )* 事件中“地址添加” 事件的發生次數)
+

(2 * 事件中“已創建訂單” 事件的發生次數)-(“訂單”的總和的“ AVG 時間 ” +“訂單明細” +“訂單確認”(來自屏幕 )* 事件中“已創建訂單” 事件的發生數)

我的方法:

我已將“ 事件”和“ 屏幕”尺寸拖到過濾器窗格中,並選擇了所有值,包括“導航”和“空”(因為這些字段與我在計算中所需的時間相對應),並且效果不佳!

我還為計算的三個步驟中的每個步驟創建了用於事件和屏幕的參數(上述),但它也不起作用!

那么,什么是實現以上計算的最佳方法?

任何幫助深表感謝。

您可以在計算中考慮過濾器。 因此,在您的第一部分中,可能類似於以下內容:

(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)

我不確定您的操作順序,但是您可以根據需要進行調整。 對其他計算重復此格式。

像這樣嗎 請注意,示例數據和示例calc之間的大小寫差異(提交的名稱與提交的名稱),因此您可能需要對此進行以下調整。

(
    (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))
    )
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM