So wählen Sie aggregierte Felder per Abfrage?
Ich versuche zu wählen, 4-Feld mit addselectionfield. von diesen 4-Feld-2 sind in der Summe (sum) Felder.
Mache ich Folgendes:
date fromDate = systemDateGet();
date toDate = (systemDateGet() + 25);
query = new Query();
qbds = query.addDataSource(tableNum(MyTable));
qbds.addSelectionField(fieldNum(MyTable, DateField));
qbds.addSelectionField(fieldNum(MyTable, USDAmountField), SelectionField::Sum);
qbds.addSelectionField(fieldNum(MyTable, CurrencyNameField));
qbds.addSelectionField(fieldNum(MyTable, EURAmountField), SelectionField::Sum);
qbr = qbds.addRange(fieldNum(MyTable, DateField));
qbr.value(queryRange(fromDate, toDate));
queryRun = new QueryRun(query);
Beim Debuggen bekomme ich folgende select-Anweisung in queryRun:
SELECT SUM(EURAmountField) FROM MyTable(MyTable_1)
WHERE ((DateField >= {ts '2014-04-01 00:00:00.000'}
AND DateField <= {ts'2014-04-26 00:00:00.000'}))
Also, was ist der Grund dafür, dass es wählt nur die letzten addSelectionField und was muss ich tun, um alle Felder aus, da ich geschrieben habe, in der addSelectionFields?
InformationsquelleAutor AYETY | 2014-04-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keinen Grund (an den ich denken kann)... das sollte funktionieren, die selectionfield sollte Hinzugefügt werden, um Ihre querybuilddatasource. Versuchen Sie zu synchronisieren, zu kompilieren und/oder Neustart des client/aos.
Was Sie zu tun haben, auch wenn ist Gruppe hinzufügen, indem Sie Felder auf das Feld, das Sie auswählen möchten. Sonst AX nicht wissen, welcher Wert zu wählen, da mehrere Datensätze können einen unterschiedlichen Wert haben. Zum Beispiel, wählen Sie die CurrencyNameField, fügen Sie es als Auswahl-Feld und verwenden Sie auch:
Dann erhalten Sie die Daten in der CurrencyNameField Feld, aber Sie erhalten die Summe für jede Währung Namen.
Diese scheint zu funktionieren:
Die queryrun enthält:
InformationsquelleAutor Klaas Deforche