Tableau api 计算在给定时间工作的人数

Tableau api 计算在给定时间工作的人数,tableau-api,Tableau Api,我有数据显示员工何时登录和何时注销。我将他们登录的持续时间称为“就绪”时间,将他们注销的时间称为“未就绪”时间。我想做的是有一个连续的梯度时间线,显示有多少人处于就绪状态 关于数据的一些注释: 数据有开始时间和结束时间。每个记录对于员工和开始时间都是唯一的 很遗憾,我无法发布此数据,因为它不属于我 假设您的数据是这样的 employee start_time end_time E1 7/7/2017 10:03:10 AM 7/7/2017 18:03:10 AM E2 7

我有数据显示员工何时登录和何时注销。我将他们登录的持续时间称为“就绪”时间,将他们注销的时间称为“未就绪”时间。我想做的是有一个连续的梯度时间线,显示有多少人处于就绪状态

关于数据的一些注释:

  • 数据有开始时间和结束时间。每个记录对于员工和开始时间都是唯一的
  • 很遗憾,我无法发布此数据,因为它不属于我
      假设您的数据是这样的

      employee    start_time  end_time
      E1  7/7/2017  10:03:10 AM   7/7/2017  18:03:10 AM
      E2  7/7/2017  10:10:10 AM   7/7/2017  18:03:10 AM
      E3  7/7/2017  10:13:10 AM   7/7/2017  18:03:10 AM
      E1  7/7/2017  11:03:10 AM   7/7/2017  19:03:10 AM
      E2  7/7/2017  10:30:10 AM   7/7/2017  18:03:10 AM
      
      在这种情况下,我将遵循以下步骤:

      • 检查开始时间和结束时间列是否不是“时间戳”格式,然后右键单击它并转到“更改数据类型”以选择“日期和时间”
      • 创建一个参数
        选择\u Report\u DateTime
        。在参数窗口中选择数据类型='日期和时间';显示格式='自动';允许值='All'
      • 右键单击此参数并选择“显示参数控制”
      • 将计算字段创建为
        1/1/1900 12:00:00 AM
        。如果不是“时间戳”格式,则右键单击它并转到“更改数据类型”以选择“日期和时间”
      • 创建计算字段
        Report\u DateTime\u格式为


      • 创建一个计算字段
        Users(在readystate中)
        as

      IF([Report\u DateTime\u formatted]>=[start\u time])&
      ([报告日期时间格式]<[结束时间])然后选择“是”
      否则“不”
      结束
      

      • 现在将
        Users(在readystate中)
        拖动到“列”中,
        CNT[employee]
        拖动到“行”中,并将“标记”作为条形图
      • 您可以很好地使用此模型,以根据您的具体要求获得o/p

      别忘了让我们知道它是否有用:)

      只是一点小错误。在最后一个计算字段中,只需保留布尔条件。你根本不需要if/then/else。然后,计算字段具有布尔数据类型。布尔值是第一类数据类型。
      IF [Select_Report_DateTime] == [default_date_time] then now()
      ELSE [Select_Report_DateTime]
      END
      
      IF (([Report_DateTime_formatted] >= [start_time]) & 
          ([Report_DateTime_formatted] < [end_time])) THEN "Yes"
      ELSE "No"
      END