2014-07-23 86 views
1

我一直在研究AX查詢服務。我對所有內容都有很好的理解,但似乎QueryDataFieldMetadata對象不喜歡聚合。當我建立一個QueryDataFieldMetadata對象:如何使用AX 2012查詢服務正確返回聚合數據字段

QueryDataFieldMetadata field = new QueryDataFieldMetadata(); 
field.TableName = "InventSum"; 
field.FieldName = "AvailPhysical"; 
field.SelectionField = SelectionField.Database; 

,並將其添加到數據源的一切都很好。但是當我這樣做時:

QueryDataFieldMetadata field = new QueryDataFieldMetadata(); 
field.TableName = "InventSum"; 
field.FieldName = "AvailPhysical"; 
field.SelectionField = SelectionField.Sum; 

並將其添加到數據源字段不會在結果集中返回。我在執行查詢之前檢查了數據源本身,它在字段列表中但沒有返回。有誰知道爲什麼會發生這種情況?任何幫助,將不勝感激。

回答

1

我只是想出了這一個。問題是由於我從表中選擇了另一個字段,但忘記將其放在「分組依據」字段中。對我來說奇怪的是,查詢服務正在返回THAT字段,但是沒有返回聚合字段。基本上我做了一個查詢服務查詢,將會等於這個:

從ItemId,InventLocationId,wMSlocationId中選擇wMSLocationId,SUM(AvailPhysical),RecId從InventSum組where ItemId =='some value';

查詢返航:

InventSum.wMSLocationId = 001

InventSum.RecId = 0

的RecId列入是個錯誤,我忘了刪除它,但沒」不要認爲這很重要,因爲它不在字段組中,因此會返回null。刪除此選擇字段確實會導致查詢中返回聚合字段。

無論如何,我希望這可以幫助有人在那裏,因爲它花了我一些時間來弄清楚。

相關問題