Aggregation doesn't seem to match data in the

2019-08-05 07:27发布

Given this query (spacing added for readability):

rest-1.v1\Data\Story?
    sel=
        Children.ID,
        Children.Actuals.Value,
        Children:Task.@Count,
        Children.Actuals.Value.@Sum.Value
    &where=Number='B-02833'

I received the following in response:

<Assets total="1" pageSize="2147483647" pageStart="0">
    <Asset href="/rest-1.v1/Data/Story/13195" id="Story:13195">
        <Relation name="Children.ID">
            <Asset href="/rest-1.v1/Data/Task/34505" idref="Task:34505"/>
            <Asset href="/rest-1.v1/Data/Task/34506" idref="Task:34506"/>
            <Asset href="/rest-1.v1/Data/Task/34507" idref="Task:34507"/>
        </Relation>
        <Attribute name="Children.Actuals.Value.@Sum">97.2</Attribute>
        <Attribute name="Children.Actuals.Value">
            <Value>1</Value>
            <Value>2</Value>
        </Attribute>
        <Attribute name="Children:Task.@Count">6</Attribute>
    </Asset>
</Assets>

Can someone explain why the values returned total to 3, but the .@Sum shows 97.2?

1条回答
Lonely孤独者°
2楼-- · 2019-08-05 08:08

The most likely cause is that aggregate functions like @Sum and @Count don't automatically ignore deleted/dead assets.

You probably want to say something like:

rest-1.v1\Data\Story?
    sel=
        Children.ID,
        Children.Actuals.Value,
        Children:Task[AssetState!=Dead].@Count,
        Children[AssetState!=Dead].Actuals.Value.@Sum.Value
    &where=Number='B-02833'
查看更多
登录 后发表回答