【问题标题】:Crystal Report ver 9:the remaining text does not appear to be part of the formulaCrystal Report 版本 9:其余文本似乎不是公式的一部分
【发布时间】:2014-04-18 18:42:58
【问题描述】:

这是我们在 Crystal 版本 9 上获得的报告。它包括用于选择用户 ID 和扫描部件的日期的参数,并提供扫描每个部件的时间。我希望它添加另一列来计算扫描之间的间隔时间。请求是让第一个时间戳为空,但其余的计算间隔时间。

http://i59.tinypic.com/bjbtl1.jpg

这是我在 TOAD 中提出的那种模拟 SQL,但我无法将其翻译成 Crystal。

with temptab as ( select 1 key, sysdate as dt from dual union select 1 key, sysdate + interval '1' minute as dt from dual union select 1 key, sysdate + interval '2' minute as dt from dual union select 1 key, sysdate + interval '6' minute as dt from dual union select 1 key, sysdate + interval '7' minute as dt from dual ) select t.key, t.dt, lag(t.dt) over (partition by t.key order by t.dt asc) prev_row_dt, (t.dt - lag(t.dt) over (partition by t.key order by t.dt asc))*24*60*60 diff_in_seconds from temptab t;


这是随机用户的 CR。请记住,设置了一些参数来选择用户和日期:

SELECT "LOCN_HDR"."LOCN_BRCD", "ITEM_MASTER"."SKU_BRCD", "USER_MASTER"."LOGIN_USER_ID", "PROD_TRKG_TRAN"."MOD_DATE_TIME", "PROD_TRKG_TRAN"."TRAN_TYPE", "PROD_TRKG_TRAN"."TRAN_CODE", "PROD_TRKG_TRAN"."USER_ID", "USER_MASTER"."USER_NAME", "PROD_TRKG_TRAN"."NBR_UNITS", "PROD_TRKG_TRAN"."SKU_ID" FROM "PKMS"."LOCN_HDR" "LOCN_HDR", "PKMS"."USER_MASTER" "USER_MASTER", "PKMS"."PROD_TRKG_TRAN" "PROD_TRKG_TRAN", "PKMS"."ITEM_MASTER" "ITEM_MASTER" WHERE ("USER_MASTER"."LOGIN_USER_ID"="PROD_TRKG_TRAN"."USER_ID") AND ("LOCN_HDR"."LOCN_ID"="PROD_TRKG_TRAN"."TO_LOCN") AND ("PROD_TRKG_TRAN"."SKU_ID"="ITEM_MASTER"."SKU_ID") AND ("PROD_TRKG_TRAN"."TRAN_CODE"='001' OR "PROD_TRKG_TRAN"."TRAN_CODE"='005') AND ("PROD_TRKG_TRAN"."TRAN_TYPE"='200' OR "PROD_TRKG_TRAN"."TRAN_TYPE"='300') AND ("PROD_TRKG_TRAN"."MOD_DATE_TIME">={ts '2014-04-16 00:00:00'} AND "PROD_TRKG_TRAN"."MOD_DATE_TIME"<{ts '2014-04-17 00:00:00'}) AND "PROD_TRKG_TRAN"."USER_ID"='4517' ORDER BY "PROD_TRKG_TRAN"."MOD_DATE_TIME", "USER_MASTER"."LOGIN_USER_ID", "PROD_TRKG_TRAN"."TRAN_TYPE

【问题讨论】:

  • 这里有什么问题?您的标题(CR 错误消息)如何适应?
  • 问题是如何计算时间间隔?当我插入来自 mmy 原始问题的代码时,我得到的就是错误
  • 我看到的只是 SQL...您一直在使用的 Crystal Reports 公式是什么来计算间隔(给出错误消息的那个)?
  • 我想就是这样。如何翻译水晶中的第一个 SQL。第一个 SQL 语句是我使用 TOAD 提出的。
  • {PROD_TRKG_TRAN.TRAN_CODE} in ["001", "005"] and {PROD_TRKG_TRAN.TRAN_TYPE} in ["200", "300"] and {PROD_TRKG_TRAN.MOD_DATE_TIME} = {?Date}和 {PROD_TRKG_TRAN.USER_ID} = {?User}

标签: sql sql-server crystal-reports


【解决方案1】:

任何过滤器类型信息都会进入报告 --> 选择公式 --> 记录

然后在详细信息部分中,您将放置一个公式字段来查找您正在寻找的差异,它看起来像这样

datediff("s",date(totext({Calibration.C2301}&' '&{Calibration.C2333})),{Calibration.C2335})

我不确定 lag(t.dt) 是什么,但上面是基本语法 date(totext({Calibration.C2301}&' '&{Calibration.C2333})) 是一个日期字段,并且时间字段连接使这项工作。

【讨论】:

  • {PROD_TRKG_TRAN.TRAN_CODE} in ["001", "005"] and {PROD_TRKG_TRAN.TRAN_TYPE} in ["200", "300"] and {PROD_TRKG_TRAN.MOD_DATE_TIME} = {?Date}和 {PROD_TRKG_TRAN.USER_ID} = {?User}
猜你喜欢
  • 1970-01-01
  • 2012-09-09
  • 2018-12-10
  • 2020-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多