【问题标题】:Qlik - Add month to dateQlik - 添加月份至今
【发布时间】:2022-10-21 08:26:31
【问题描述】:

我是 Qlik 循环的新手

我需要创建直到 2024 年的日期。 我有以下数据:

Date 列是我从数据库中检索的日期 周期性列(这些是月份)。我直接从我的数据库中检索此列。

列 Date 1 和 Date 2 是我需要在 Qlik 中计算的列。

我想循环计算这两列,计算如下:PN 10101 的示例,日期:2022 年 1 月 2 日,周期 = 12

  • 日期_1= AddMonths(日期,周期)---->2023 年 1 月 2 日
  • 日期_2= AddMonths(Date_1,periodicity) ----->2024 年 1 月 2 日

我只想在 ON 之前有 2 个日期(一个日期在 2023 年,另一个在 2024 年)。我不想在 2024 年之前生成多个日期。

预先感谢您的帮助

【问题讨论】:

    标签: loops date qliksense


    【解决方案1】:

    在这种情况下不需要循环。

    DataBaseData:
    Load
      PN,
      Date,
      // Define Date_1
      AddMonths(Date,Periodicity) as Date_1,
      // Wrap AddMonths into another AddMonths to get the second field
      AddMonths(Date,AddMonths(Date,Periodicity), Periodicity) as Date_2,
      Periodicity
    From
      [some-database]
    ;
    

    另一种方法是使用Preceding LOAD 功能。

    TLDR;前置加载允许您进行嵌套加载,从而生成一个表。每个先前的加载都将内部加载结果作为输入。

    DataBaseData:
    // In the second step use the already available Date_1
    // field and calculate Date_2
    // * - will load all fields from the previous table
    Load
      *,
      AddMonths(Date_1,Periodicity) as Date_2,
    ;
    // In the first step calculate Date_1 fiels
    Load
      PN,
      Date,
      AddMonths(Date,Periodicity) as Date_1,
      Periodicity
    From
      [some-database]
    ;
    

    附言加载/执行的顺序,在先加载的情况下,从下到上

    【讨论】:

      【解决方案2】:

      感谢您的回复和帮助! :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多