Count聚合与Rest api返回的数据不匹配

时间:2014-12-28 02:02:05

标签: xml rest http versionone

我确实看过现有的问题 Aggregation doesn't seem to match data in the VersionOne RESTful API

我还有一个问题。

rest-1.v1/Data/Epic/9549/SubsAndDown:Story[AssetState!='Dead'].@Count

- 上面的查询返回182作为给定史诗中的故事#。

rest-1.v1/Data/Epic/9549/SubsAndDown:Story[AssetState!='Dead']

- 然而,当我真的想要获得所有的故事ID时,我只能看到149个故事,我不明白那些错过的33个故事发生了什么,因为我正在使用正确的assestState。

又一个例子:

from: Epic
filter:
- Name=""{0}""
select:
- Name
- Scope.Name
- Status.Name
- SubsAndDown:Story[AssetState!='Dead'].@Count
- SubsAndDown:Story[AssetState!='Dead'&Estimate=''].@Count
- SubsAndDown:Story[AssetState!='Dead'&Estimate>='0'].@Count

以上查询分别将计数返回为182,49,133,

然而,当我实际计算返回的数据时[即计算故事返回] 我分别得到了149分,26分,123分。

有没有人知道这里发生了什么?为什么不计数和返回的数据匹配?

2 个答案:

答案 0 :(得分:0)

您可能会在父Epic中排除故事工作项。

尝试使用SubsMeAndDown而不是SubsAndDown:

rest-1.v1/Data/Epic/9549/SubsMeAndDown:Story[AssetState!='Dead'].@Count

这应该包括与父Epic相关的故事。

答案 1 :(得分:0)

我认为您看到的差异是基于成员的项目访问限制的结果。 @Count总和计算该史诗和州内存在的所有故事,但是当您查询单个故事列表时,它只列出您有权查看的故事。史诗可以包含本身属于不同项目的故事。如果您可以访问其中一些项目但不能访问其他项目,您将看到这些结果。

您可以通过将您的点数限制为属于您知道自己有权访问的项目的故事来测试:

rest-1.v1/Data/Epic/9549/SubsAndDown:Story[AssetState!='Dead';Scope='Scope:{some scope id}'].@Count