简体   繁体   English

在COGNOS中查询(Report Studio)

[英]Query in COGNOS (Report Studio)

I have this follow query; 我有这个跟随查询; the objective is to filter this query by day. 目的是按天过滤此查询。

I will use this same query, but now a month. 我将使用相同的查询,但现在需要一个月。 How to do? 怎么做?

WITH DATAS(DATA_CALC) AS(

  SELECT DATE(#prompt('DataIni')#) AS DATA_CALC FROM SYSIBM.SYSDUMMY1
  UNION ALL
  SELECT DATA_CALC + 1 DAY FROM DATAS WHERE DATA_CALC < DATE(#prompt('DataFim')#)

)

/* ABERTOS */
SELECT COUNT(*) AS QUANTIDADE, 'ABERTOS' AS TIPO, 1 AS NUM_LINHA, DATE(TRUNC(SOL.DATA_ABERTURA_SOLICITACAO)) AS DATA
FROM VW_SOLICITACAO_DETALHE SOL
  INNER JOIN SOLICITACAO SOL_TAB ON (SOL_TAB.ID_SOLICITACAO = SOL.ID_SOLICITACAO)
WHERE SOL.COD_TIPO_SERVICO IN ('MC','OP','SA')
  AND SOL_TAB.ID_AREA_COLABORADOR IN (#promptmany('IDArea')#)
  AND TRUNC(SOL.DATA_ABERTURA_SOLICITACAO) >= to_date('2014-11-18','YYYY-MM-DD')
  AND TRUNC(SOL.DATA_ABERTURA_SOLICITACAO) <= #prompt('DataFim')#
  AND ('TODOS' IN (#promptmany('Sistema')#) OR SOL.COD_PRODUTO IN (#promptmany('Sistema')#))
  AND DSC_SITUACAO_SOLICITACAO NOT IN ('Desenvolvimento Cancelado')
  AND SOL.COD_SOLICITACAO NOT LIKE 'SA%'
GROUP BY TRUNC(SOL.DATA_ABERTURA_SOLICITACAO)

The best solution is to create a Time dimension that includes days and months. 最好的解决方案是创建一个包含几天和几个月的时间维度 This is not easy to plug into Dynamic SQL like you are using above, so you can instead try a work around. 像上面使用的那样,将其插入Dynamic SQL并不容易,因此您可以尝试解决方法。

A report studio work around would be to create year and month columns, and group on them: 报表工作室的工作方式是创建年和月列,并根据它们进行分组:

For year: extract(year, [datefieldhere]) 对于年份:摘录(年份,此处为[datefield])

For month: extract(month, [datefieldhere]) 对于月份:摘录(月份,[datefieldhere])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM