在时间段维度上具有多个表达式的 Qlikview 折线图

Qlikview line chart with multiple expressions over time period dimension

我是 Qlikview 的新手,在多次尝试失败后,我不得不寻求有关 Qlikview 中图表的一些指导。我想创建包含以下内容的折线图:

一维 – 一个月的时间段按其中的天数细分

一个表达式-每天创建的任务数

第二个表达式——每天关闭的任务数

第三个表达式-每天打开的任务数

这是一个非常基本的例子,我找不到解决方案,老实说,我想我不明白我应该如何设置我的时间段维度和表达式。每次当我尝试介绍不止一种表达时,事情都会变得糟糕。可能是因为我有多个日期,或者我的尺寸不对。

这是我的简单数据:

http://pastebin.com/Lv0CFQPm

我一直在阅读 Master Callendar 或“Date Island”等辅助表,但我无法理解。我尝试按照此处的指南进行操作:https://community.qlik.com/docs/DOC-8642 但这只适用于一个日期(至少对我而言)。

我应该如何在我的图表上设置维度和表达式,以便在创建日期与维度中的一个相匹配且状态合适时计算 ID 字段?

我有个人版,所以无法打开其他作者的 qwv 文件。

提前致谢,亲切问候!

我对此的解决方案是将每个具有关联日期的呼叫的一行更改为每个呼叫事件具有一个日期的串联列表。即每个呼叫都会有一个创建事件和一个解决事件。这就是我实现这一目标的方式。 (我将您的数据转换为电子表格,但这个概念对于任何数据源都是相同的。)

Calls:
LOAD Type, 
     Id, 
     Priority, 
     'New' as Status,
     date(floor(Created)) as [Date],
     time(Created) as [Time]
FROM
[Calls.xlsx]
(ooxml, embedded labels, table is Sheet1) where Created>0;

LOAD Type, 
     Id, 
     Priority, 
     Status,  
     date(floor(Resolved)) as [Date],
     time(Resolved) as [Time]
FROM
[Calls.xlsx]
(ooxml, embedded labels, table is Sheet1) where Resolved>0;

这里的关键概念是允许 QlikView 的自动连接通过使两个加载语句的字段名称完全相同(包括大写)来完成它的工作。第二个是将时间戳拆分为日期和时间。这允许您仅具有日期维度并将当天的事件分组。 (在大数据集中,资源节省也很重要。)第三个是在每个事件的创建日期为每个事件创建虚拟 'New' 状态。

只有这些数据和这些表达式

Created = count(if(Status='New',Id))
Resolved = count(if(Status='Resolved',Id))

然后

Created-Resolved

所有的全部累积都勾选为打开(给你一个 运行 总数而不是每天的总数,它可能会变成负数并且看起来很奇怪)你可以画这个图。

为了额外的完整性,您可以将其添加到代码部分以填写您的日期并创建您所说的主日历。还有很多其他方法可以实现这一点

MINMAX:
load floor(num(min([Date]))) as MINTRANS,
floor(num(max([Date]))) as MAXTRANS
Resident Calls;

let zDateMin=FieldValue('MINTRANS',1);
let zDateMax=FieldValue('MAXTRANS',1);

//complete calendar
Dates:
LOAD
    Date($(zDateMin) + IterNo() - 1, '$(DateFormat)') as [Date]
AUTOGENERATE 1
WHILE $(zDateMin)+IterNo()-1<= $(zDateMax);

然后你就可以画这张图表了。不要忘记关闭 Presentation 选项卡上的 Suppress Zero Values。

但我的建议是使用组合图而不是折线图,以便每天的调用显示为离散的桶(条),但打开调用的 运行 总数是一条线