计算在给定时间工作的人数
Counting the number of people working at a given time
我有数据显示员工登录和注销的时间。我将他们登录的持续时间称为 "Ready" 时间,将他们注销的时间称为 "Not Ready" 时间。我想要做的是有一个连续的、渐变的时间轴,显示有多少人处于准备状态。
关于数据的一些说明:
- 数据有开始时间和结束时间。每条记录对于员工和开始时间都是唯一的?
- 很遗憾,我无法 post 此数据,因为它不属于我。
假设你的数据是这样的
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
在这种情况下,我将按照以下步骤操作:
- 检查 start_time 和 end_time 列是否不是 'timestamp' 格式然后右键单击它并转到 'Change data type' 到 select 'Date & Time'
- 创建一个参数
Select_Report_DateTime
。参数中windowselect数据类型='Date & Time';显示格式='Automatic';允许值 = 'All'
- 右击该参数select'Show parameter control'
- 创建计算字段
default_date_time
作为 #1/1/1900 12:00:00 AM#
。如果它不是 'timestamp' 格式然后右键单击它并转到 'Change data type' 到 select 'Date & Time'
- 创建计算字段
Report_DateTime_formatted
为
IF [Select_Report_DateTime] == [default_date_time] then now()
ELSE [Select_Report_DateTime]
END
- 创建计算字段
Users(inReadyState)
as
IF (([Report_DateTime_formatted] >= [start_time]) &
([Report_DateTime_formatted] < [end_time])) THEN "Yes"
ELSE "No"
END
- 现在将
Users(inReadyState)
拖入 'Columns',将 CNT[employee]
拖入 'Rows',将 'Marks' 拖入 Bar。
- 您可以根据自己的具体要求使用此模型获得 o/p。
如果有帮助,别忘了告诉我们:)
我有数据显示员工登录和注销的时间。我将他们登录的持续时间称为 "Ready" 时间,将他们注销的时间称为 "Not Ready" 时间。我想要做的是有一个连续的、渐变的时间轴,显示有多少人处于准备状态。
关于数据的一些说明:
- 数据有开始时间和结束时间。每条记录对于员工和开始时间都是唯一的?
- 很遗憾,我无法 post 此数据,因为它不属于我。
假设你的数据是这样的
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
在这种情况下,我将按照以下步骤操作:
- 检查 start_time 和 end_time 列是否不是 'timestamp' 格式然后右键单击它并转到 'Change data type' 到 select 'Date & Time'
- 创建一个参数
Select_Report_DateTime
。参数中windowselect数据类型='Date & Time';显示格式='Automatic';允许值 = 'All' - 右击该参数select'Show parameter control'
- 创建计算字段
default_date_time
作为#1/1/1900 12:00:00 AM#
。如果它不是 'timestamp' 格式然后右键单击它并转到 'Change data type' 到 select 'Date & Time' - 创建计算字段
Report_DateTime_formatted
为
IF [Select_Report_DateTime] == [default_date_time] then now()
ELSE [Select_Report_DateTime]
END
- 创建计算字段
Users(inReadyState)
as
IF (([Report_DateTime_formatted] >= [start_time]) &
([Report_DateTime_formatted] < [end_time])) THEN "Yes"
ELSE "No"
END
- 现在将
Users(inReadyState)
拖入 'Columns',将CNT[employee]
拖入 'Rows',将 'Marks' 拖入 Bar。 - 您可以根据自己的具体要求使用此模型获得 o/p。
如果有帮助,别忘了告诉我们:)