SPARQL - 在查询中评估 IF 表达式

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

我在一个使用 IBM RTC 进行变更管理的项目中担任(非正式)团队负责人(团队处理项目中特定类型的任务)。 现在,我创建了各种查询/报告,以简化我获取团队每周状态幻灯片所需信息的方式。

我遇到的问题如下。 在任务中有一个有效的估计(不是属性!),它被计算为 “如果存在‘校正’值,则使用‘校正’值,否则使用‘估计’值”.

所以一旦有人添加“更正”,那么我的“总估计”查询将不再提供正确的结果。

我期望/需要的:

  • 所有任务的总和。
  • 对于每项任务,应使用较大的修正值或估计值
  • 以小时为单位的输出(因此除以 3600000)

查询/报告编辑器中的可能解决方案: 由于我无法查询“有效估计”,所以我尝试使用自定义表达式, 基于我能找到的 SPARQL 语法。 报告编辑器确实验证了这在形式上是正确的,但由于我没有 SPARQL 经验,我无法判断实际问题出在哪里。

SUM( IF($Task:Correction$ > 0, $Task:Correction$, $Task:Estimate$) ) /3600000

我得到的:

  • 我只得到已经添加了 Correction 的 1 个任务的总和。
  • 比较:不使用“IF”部分的报告提供正确的结果。

我已经尝试过的(在最好的情况下导致上面的“我得到的”):

  • IF($Task:Correction$ > 0, $Task:Correction$, $Task:Estimate$)
  • IF($任务:修正$!= 0, $任务:修正$, $任务:估计$)
  • IF($Task:Correction$ > $Task:Estimate$, $Task:Correction$, $Task:Estimate$)
  • COALESCE ($Task:Correction$, $Task:Estimate$)
if-statement websphere sparql rational-team-concert
© www.soinside.com 2019 - 2024. All rights reserved.