Cognos 滞后 + 过度分区

问题描述 投票:0回答:1

我正在尝试在 cognos 中重新创建它: lag(queue_name,1) respect nulls over (partition by appl_num order by seq_nmbr)

逻辑在 terradata 中运行良好,但找不到在 cognos 中运行的方法。

下面的完整查询以供进一步参考:

SELECT
        appl_num,
        UPPER(a.user_ident) as tid,
        seq_nmbr,
        actvy_cd,
        ace_rte_to_state_que as queue_name,
        lag(queue_name,1) respect nulls over (partition by appl_num order by seq_nmbr) as lagg
    
        FROM xyz 

这里的任何帮助都会很棒!!!谢谢

lag cognos partition-by
1个回答
0
投票

您将需要使用 SQL:

  1. 创建查询。
  2. 在查询中添加一个 SQL 对象。
  3. 正确配置 SQL 对象,包括您的本机 SQL 代码。

其他细节:

Cognos 不支持

LEAD
LAG
.

即使 Cognos 支持

LAG
:我最近需要在 Cognos 中包含窗口函数的特定功能。虽然 Cognos 支持窗口功能,但它不支持其他功能。例如,Cognos Analytics 将支持...

MIN(Col1) OVER (
  PARTITION BY SRID 
  ORDER BY Col1, Col2
  )

...但不是...

MIN(Col1) OVER (
  PARTITION BY SRID 
  ORDER BY Col1, Col2 
  ROWS BETWEEN 0 FOLLOWING AND UNBOUNDED FOLLOWING
)

...在其用于数据项表达式的内置函数中,您将创建正常的 Cognos 方式。

如果您没有能力在报告中使用 SQL 对象,请与您的 Cognos Analytics 管理员讨论提供适当的能力或他们支持报告。不幸的是,为了运行使用 SQL 对象的报告,您必须能够创建和编辑它们。这意味着即使您有能力,您的用户也可能无法使用该报表。 (或者如果管理员创建了它,也许你不能运行它。)

© www.soinside.com 2019 - 2024. All rights reserved.