2017-08-08 74 views
0

我是Tableau的新手,對創建過濾器有疑問。我有一個數據集有一個名爲「開始日期」的字段和一個名爲「結束日期」的字段。使用這兩個領域,我想創建一個具有以下選項的過濾器:根據日期範圍創建過濾器

有有一個「結束了「開始日期」之前爲當前日期,名爲「待定記錄」
  • 記錄
    1. 記錄數據「,稱爲」過期記錄「
    2. 」開始日期「等於或大於當前日期並且」結束日期「小於當前日期的記錄,稱爲」活動記錄「

    我希望這是一個過濾器,這三個選擇。這可能嗎?如果是這樣,有什麼我可以看看的例子嗎?

    僅供參考,我使用的Tableau桌面版10.3

    感謝

    UPDATE

    我也不得不增加一個狀態爲「記錄6個月內的最後一天」,所以我使用此代碼:

    IF 
    (
    [Start Date] > TODAY() 
    ) then "PendingRecord" 
    elseif (
    [End Date] < TODAY() 
    ) then "ExpiredRecord" 
    elseif (
    [Start Date] <= TODAY() AND 
    ([End Date] > TODAY() AND 
    [End Date] > DATEADD("month",6, TODAY())) 
    ) then "ActiveRecord" 
    elseif (
    [Start Date] <= TODAY() AND 
    ([End Date] > TODAY() AND 
    [End Date] <= DATEADD("month",6, TODAY())) 
    ) then "EndingIn6Months" 
    END 
    

    這會創建一個具有4個選項的過濾器。但是,「EndingIn6Moths」實際上是ActiveRecord的一個子集。所以,當用戶選擇ActiveRecords時,它也應該包含EndingIn6Months。這可能嗎?當用戶檢查ActiveREcords選項時,是否可以自動檢查篩選器(EndingIn6Months)?

  • 回答

    0

    我認爲以下幾點對你有幫助。

    1 - 創建當前日期計算字段:現在()

    2-創建另一個計算字段

    If [Start Date] = [Now] then "Pending Records" 
        ELSEIF  [END Date] = [Now] then "Pending Records"    
        ELSEIF  [Start Date] => [Now] AND [END Date] < [Now] then "Active Records"                  
        ELSE  "Others" 
        END 
    

    能否請您分享您的工作簿?

    我覺得不同的行會落入不同的桶中。你會遇到什麼情況,你會遇到第一和第二個條件。我認爲你需要排除他們彼此。看到數據集會很高興。

    如果有任何問題,請讓我知道。

    +0

    是的,這是我最終做的,它的工作。問題是我的企業所有者也希望在未來6個月內記錄具有結束日期的記錄。我將添加我用來獲取此代碼的代碼,但它所做的是將ActiveRecords分成兩個組,即以6個月結束的組,以及那些不是。這很好,但這會影響我的過濾器。我會更新我的問題,以反映我的後續問題,但也許它是最好的新線程? – jason