搜索失踪

时间:2017-11-09 14:49:43

标签: crystal-reports maximo

我在Crystal(Jobplan& Jobtask)中链接了2个表。有3719个工作计划。每个任务都有多个任务,但每个任务都有一个编号为1的任务。我故意从一个工作计划中删除了编号为1的任务。我如何用水晶书写给我看一个没有编号为'1'的任务的工作计划?

2 个答案:

答案 0 :(得分:0)

不知道你在这里给出的任何内容,我最好的想法是在Jobplan上分组,创建一个最小任务编号/ ID的公式,并将其放在组头中。按最小任务编号/ ID降序排序。同样,答案是一个解决方法,因为我不完全确定您的问题/问题的所有细节。

答案 1 :(得分:0)

像这样设置Crystal Report:

  1. 使用左外连接链接JOBPLAN和JOBTASK表,以便即使您有空作业任务也可以获得所有作业计划(内部联接将排除具有空作业任务的作业计划)。
  2. 创建一个公式来处理null JOBTASK场景(让我们称之为HandleNulls) IF ISNULL {JOBTASK.JPTASK}那么0 {ELBTASK.JPTASK}
  3. 将第1列的详细信息部分设置为JOBPLAN.JPNUM,将第2列设置为在#2中创建的公式; HandleNulls。
  4. 将您的详细信息分组到JOBPLAN.JPNUM。
  5. 将一个运行总计字段添加到组标题中 MINIMUM {HandleNulls},评估组的更改,重置组的更改。
  6. 取消详细信息和组页脚。
  7. 为组标题创建抑制公式 {HandleNulls} = 1
  8. 这将为您提供一个报告,列出JOBPLAN.JPNUM和最小JOBTASK.JPTASK(如果它不是1)。并且,如果没有为JOBPLAN.JPNUM设置JOBTASK.JPTASK,则它会列出最小JOBTASK。 JPTASK为零,表示该工作计划没有任务任务。

    最后,我想添加Crystal Reports,虽然这是一个可以处理此类报告的好工具,但最好在SQL中将所需信息作为命令创建,并在Crystal Reports中为您的用户显示结果

    有几种方法可以构建这个查询,但我并不完全确定表的结构,但是这个查询应该可以帮助你找到命令。

    SELECT
        JOBPLAN.JPNUM,
        MIN(ISNULL(JOBTASK.JPTASK,0))
    FROM
        JOBPLAN
    LEFT OUTER JOIN
        JOBTASK
        ON JOBPLAN.JPNUM = JOBTASK.JPNUM
    GROUP BY
        JOBPLAN.JPNUM
    HAVING
        MIN(ISNULL(JOBTASK.JPTASK,0)) <> 1