Qlik自助服务用户面临的一个常见挑战是编写表达式,而编写表达式的最常见原因是基于时间段的报告。可以简化这些时间段表达式-以及按时间段进行筛选或分组-自助时间段表。
这是一个包含两列的表:日期和时间段
如果日期是多个时间段的一部分,则它将有多行。 例如,“今天”是当前星期,当前月份,当前年份和当前季度的一部分。该时间段包含时间段的简单英文缩写,例如CYTD,PMTD-您的用户可能会理解的任何缩写。
优点
- 所有时间段仅使用一个字段,每个时间段不使用单独的标志。
- 周期值对于我们关心的字段是唯一的,这使得搜索更加容易,与每个时间段都有一个Y / N或0/1标志字段不同。
- 启用非常简单的时间段表达式逻辑,包括“设置分析”和条件聚合。
- 总和({<期间= {'CYTD'}>}销售)
- 总和(If(Period ='CYTD',Sales))
- 可以在智能搜索(顶部的全局搜索)中访问值,而不会导致用户离开工作表流程。它也可以作为自助表格上的过滤器。
- 无论您希望捕获多少个时间段,表格都可以在不改变其结构的情况下进行缩放。
- “今天”很容易确定并在脚本/数据模型中设置,并且可以动态反映数据的新鲜度,而NLP搜索通常默认为系统日期。
缺点
- 期限仅是“截至”日期,至少如下所示。它可以扩展,但使用起来会更复杂,并且行数可能会大大增加。
- 对于大型应用程序,在公式中使用此字段的效果可能不如数字标志。
- 首先要依靠开发人员来创建该表!
如何建立自助时段表
将v_Today设置为“截止日期”,从中可以计算您的时间段。要重用为此创建的代码,我建议也为日期字段名称使用一个变量。它将很好地移植到子例程。
使用日期键字段和任何数量的表达式(如果日期在指定时间段内)产生1/0值,编写CrossTable加载。请注意,我们称这是一个临时表,因为最终表将在下一步中创建。
CrossTable加载会在具有以下列的表中生成结果:
- 日期字段
- 期间:包含标志字段的名称,例如CY,CYTD
- FlagInPeriod:标志字段的0/1值
创建最终表,过滤到“ 1”行,然后删除临时表。
关于Qlik
Qlik的愿景是一个数据素养的世界,每个人都可以使用数据来改善决策并解决他们最具挑战性的问题。只有Qlik提供端到端的实时数据集成和分析解决方案,以帮助组织访问所有数据并将其转化为价值。慧都作为Qlik官方的中国合作伙伴,我们为Qlik的中国用户提供产品授权与实施、定制分析方案、技术培训等服务,旨在让中国企业的每个Qlik用户都能探索出数据的价值,让企业形成分析文化。