可重用性QlikView:时间/日历表

时间:2016-03-30 13:20:36

标签: qlikview

在QlikView应用程序中一致地应用计算和业务规则非常重要。我们可以在外部文件中存储变量,连接等,并将它们应用于各种QVW。

是否有时间/日历维度的标准化脚本,几乎包含了您所需的所有时间,并且可以在不同的QVW中使用,而无需花费时间在开发新的QVW时重新创建它。 我想拥有一些强大的东西,拥有我需要的一切,并且我可以包含在每个QVW中。

2 个答案:

答案 0 :(得分:1)

您可以查看Rob Wunderlich's Qlikview Components,您可以调用标准日历功能。

你也可以在他的网站上查看,我每次报告时都会使用very good script。您可以将脚本的结果放在QVD中,并将其加载到您制作的每个报告上。

所以它会是这样的:

actualBoundingBoxDescent

答案 1 :(得分:0)

两个选项:

  1. 您可以创建一个.qvw来生成包含所有日期字段的日历.qvd(例如DayOfMonthDayOfWeekMonth等。)以及名为Date的{​​{1}}字段。然后在CalendarDate的所有.qvw中,您可以Left Join对照从.qvdCalendarDate字段加载的数据的事实表。出于性能原因,如果我可以提供帮助,我不会将日历作为单独的表格保留。
  2. 否则,您可以创建一个文本文件,其中包含可用作宏的变量中的列定义。像

    这样的东西
    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));