Skip to main content

Tableau newbie here, using Tableau Desktop 2019.4.2.  Packaged workbook attached below.

 

I have a data source built on a custom mySQL query. To that data source, I have added a calculated field that checks the last date an employee was visited on site for supervision, and sets the "Supervision Status."  The calculated field is formula is:

IF  max([Visit Start]) >= TODAY() THEN "1-Scheduled"

ELSEIF max([Visit Start]) >= DATEADD('day', -90, TODAY()) THEN "2-Current"

ELSE "3-Overdue"

END

 

The results display as expected in a table. I am posting on Feb 5, and you can see that the aides with visits in the future as marked "1-Scheduled" while those with visits in the recent past are "2-Current," while the top row is "3-Overdue" because the last supervision is more than 90 days in the past.

Problem with Calculated field in filter

The field also displays the expected results when used as a filter on this initial worksheet.

pastedImage_3.png

 

However, even though I have selected to "Apply to Worksheets .../ All using this data source," when I use this filter on other worksheets, I have only 1 option in the filter "1-Scheduled." 

pastedImage_4.png

 

pastedImage_5.png

 

The options for "2-Current" and "3-Overdue" have disappeared. The result is that the totals in all three status are the same - they represent the total of all employees at that office, not those at that office and in that category.

 

pastedImage_8.png

The goal is to have that filter appear on each worksheet with all three options, and for the CNTD(Aide ID) returns a total for each status at each office. Currently the total is all aides at that office in all categories.

 

Many thanks in advance for any help.

2 answers
  1. Feb 6, 2020, 3:49 AM

    Hi Jim,

    create a calculated field last visit as a fixed LOD.

    { FIXED [Aide ID]: MAX([Visit Start])}

     

    Then change the supervision status field to include this new field

     

    IF  ([last visit]) >= TODAY() THEN "1-Scheduled"

    ELSEIF ([last visit]) >= DATEADD('day', -90, TODAY()) THEN "2-Current"

    ELSE "3-Overdue"

    END

     

    USe the updated supervision status field as the filter

0/9000