【问题标题】:Calculating Utilization - Figuring Minutes Worked out of Available Minutes计算利用率 - 根据可用分钟数计算分钟数
【发布时间】:2017-08-25 15:43:44
【问题描述】:

试图计算员工上班的总分钟数。需要注意的是这里的时钟方式我不能只使用 min/max/next/previous 因为它不是连续的。

举个例子更容易解释。这是一个简单的数据,它被缩小到一天只有一名员工。我删除了订单/操作,但意识到下面的每条记录都是特定的订单和对该订单的操作。这些记录不会相互影响,因此任何记录都可能是最新的。

STARTDATETIME   STOPDATETIME
8/21/2017 6:57:00 AM    8/21/2017 10:45:00 AM
8/21/2017 6:57:00 AM    8/21/2017 10:45:00 AM
8/21/2017 6:57:00 AM    8/21/2017 10:45:00 AM
8/21/2017 6:57:00 AM    8/21/2017 10:46:00 AM
8/21/2017 6:57:00 AM    8/21/2017 11:28:00 AM
8/21/2017 6:58:00 AM    8/21/2017 11:28:00 AM
8/21/2017 11:58:00 AM   8/21/2017 12:05:00 PM

如果我手动计算,我可以看到这个人从 6:57 到 11:28 不停地工作(271 分钟)

然后他们也从 11:58-12:05(7 分钟)开始工作

所以他们一天的总时间是 278 分钟。不过,我无法弄清楚如何计算。

我确实可以得到的其他数据是他们当天的上班和下班时间,所以如果更容易计算他们 没有 计时的分钟数,我们可以得到好。 (本例中的进出时间为 5:49 和 12:30,共 401 分钟)

很想听听任何想法。我将在 Tableau 中使用这些数据显示图表/图形,而对于后端,我将使用 HANA 数据库。

【问题讨论】:

    标签: sql r business-intelligence hana


    【解决方案1】:

    对于这类问题,我肯定会建议在 Python 中转换和准备 Tableau 之外的数据。 Tableau 非常擅长将时间序列中的数据点可视化,但是,您的数据不规则且间隔不均匀,虽然表格和详细级别计算可以跨行遍历,但您的问题属于中等级别,很难回答使用您尝试使用的工具。

    如果您无法执行中间转换,并且根据数据的数量或记录和时间跨度,您可以通过对值表执行笛卡尔连接(或者可能是混合)来强制执行常规时间序列在您正在查看的日期范围内的每一分钟。然后过滤(或创建一个二进制字段)所有打开日期> = 连接数据且关闭日期

    这个帖子有很多关于根据您的目标整理时间序列数据的好信息。它还包括有关如何在 Tableau 中执行交叉联接的更多详细信息 https://community.tableau.com/thread/151387

    【讨论】:

      猜你喜欢
      • 2019-09-28
      • 2016-10-17
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多