Spotfire中如何创建资源「未使用时间」报表及处理数据格式?
生成工作日资源平均未使用时间报表解决方案
核心问题梳理
- 现有预订数据格式无法直接提取空闲时段,需反转数据逻辑,明确展示两次预订间及无预订日的所有空闲时间
- 原柱状图仅覆盖有预订记录的日期,未纳入无预订的工作日,导致统计样本不全
- 未处理跨多天的预订场景,遗漏了跨天时段中的单日空闲时间计算
数据处理关键步骤
- 生成完整工作日基准日历
- 先确定统计周期内的所有工作日(排除周末、法定节假日),作为统一时间轴,确保无预订的工作日也被纳入统计范围。可通过日期函数(如Excel的
WORKDAY.INTL、Python的pandas.bdate_range)批量生成。
- 先确定统计周期内的所有工作日(排除周末、法定节假日),作为统一时间轴,确保无预订的工作日也被纳入统计范围。可通过日期函数(如Excel的
- 拆分跨天预订记录
- 将跨多天的预订拆分为单日分段记录:例如某资源预订从10月1日18:00到10月3日9:00,需拆分为三个单日分段:10月1日18:00-24:00、10月2日0:00-24:00、10月3日0:00-9:00,确保每个分段归属对应日期。
- 计算单日空闲时长
- 按资源+日期维度排序所有预订分段
- 对有预订的日期:用当日工作日时长(如默认9:00-18:00共9小时)减去当日所有预订分段的时长总和,得到当日空闲时间
- 对无预订的日期:空闲时间直接取完整工作日时长
- 统计平均未使用时间
- 按资源分组,汇总其在所有工作日的空闲时间总和,再除以统计周期内的工作日天数,得到该资源的平均每日空闲时长
图表实现要点
- 采用柱状图呈现,X轴为各资源名称,Y轴为平均每日空闲时长(单位:小时),匹配期望的示例图表形式
- 为每个柱状添加数据标签,直观展示具体平均数值
- 可添加辅助线标注整体平均空闲时长,便于对比分析
内容的提问来源于stack exchange,提问作者Jami Owen
相关产品推荐
相关产品推荐

