按月分割时间范围

时间:2015-07-09 19:17:26

标签: sql qlikview

我有两个时间戳start_datetimeend_datetime,分别表示我开始处理项目的时间和我完成项目的时间。时间戳跨越两个月。我想拆分它们,以便我可以(以图表的形式)显示我在第一个月花了多少时间和第二个月花了多少时间。例如,如果我在3月31日的0:00:00开始一个项目并在4月2日的0:00:00结束,我想表明50%的工作发生在3月,50%发生在4月。这可能吗?

作为附加组件,如果项目跨度超过2个月,我可以这样做吗? 3或4怎么样?还是13?

操纵是否会影响跨越不到一个月的时间段?

1 个答案:

答案 0 :(得分:0)

您正在寻找间隔匹配脚本功能。结合主日历,您可以计算日期,让您制作所需的表格。我只是在这里自动生成一个,你可以使用任何方法来创建它。

Intervals:
LOAD ID, 
 StartDate, 
 EndDate
FROM
[Q:\Stack Exchange\Calls.xlsx]
(ooxml, embedded labels, table is Sheet2);

let zDateMin=42000;
let zDateMax=42100;

DATES:
LOAD
    Date($(zDateMin) + IterNo() - 1) as [DATE],
    year( Date($(zDateMin) + IterNo() - 1)) as YEAR,
    month( Date($(zDateMin) + IterNo() - 1)) as MONTH
AUTOGENERATE 1
WHILE $(zDateMin)+IterNo()-1<= $(zDateMax);

INTERVAL:   
IntervalMatch (DATE) load StartDate, EndDate resident Intervals;

left join (DATES) load * resident INTERVAL; drop table INTERVAL;

然后你可以制作这张表并获得这些百分比

Intervals