在QlikView应用程序中一致地应用计算和业务规则非常重要。我们可以在外部文件中存储变量,连接等,并将它们应用于各种QVW。
是否有时间/日历维度的标准化脚本,几乎包含了您所需的所有时间,并且可以在不同的QVW中使用,而无需花费时间在开发新的QVW时重新创建它。 我想拥有一些强大的东西,拥有我需要的一切,并且我可以包含在每个QVW中。
答案 0 :(得分:1)
您可以查看Rob Wunderlich's Qlikview Components,您可以调用标准日历功能。
你也可以在他的网站上查看,我每次报告时都会使用very good script。您可以将脚本的结果放在QVD中,并将其加载到您制作的每个报告上。
所以它会是这样的:
actualBoundingBoxDescent
答案 1 :(得分:0)
两个选项:
.qvw
来生成包含所有日期字段的日历.qvd
(例如DayOfMonth
,DayOfWeek
,Month
等。)以及名为Date
的{{1}}字段。然后在CalendarDate
的所有.qvw
中,您可以Left Join
对照从.qvd
到CalendarDate
字段加载的数据的事实表。出于性能原因,如果我可以提供帮助,我不会将日历作为单独的表格保留。否则,您可以创建一个文本文件,其中包含可用作宏的变量中的列定义。像
这样的东西LET CalendarFields = '
Year($1) as DateYear,
Month($1) as DateMonthOfYear,
Week($1) as DateWeekOfYear,
Day($1) as DateDayOfMonth,
WeekDay($1) as DateDayOfWeek,
Date(MonthStart($1), ''YYYY MMM'') as DateMonthInYear,
Year(WeekStart($1)) & ''w'' & Num(Week($1), ''00'') as DateWeekInYear ';
您可以加载此文件,例如common.txt
和$(Must_Include=common.txt);
或$(Include=common.txt);
然后在事实表的load语句中,您可以使用此宏,如:
Facts:
LOAD
*,
$(CalendarFields(FactDateField));