Epicor BAQ — вычисляемые поля

Надеюсь, у вас все хорошо, и вы поможете мне с приведенным ниже вопросом о BAQ.

См. пример ниже - текущие результаты

+-------+------+--------------+------+
| Order | Part | Ship By Date | Wave |
+-------+------+--------------+------+
|  1231 | A    | 11/04/2018   |  333 |
|  1231 | A    | 11/04/2018   |  257 |
|  2522 | C    | 11/04/2018   |  333 |
|  2556 | A    | 11/04/2018   |    0 |
+-------+------+--------------+------+

Мне нужно найти способ, используя вычисляемые поля или другие опции в BAQ, чтобы увидеть только один номер волны. для каждой строки заказа. Что-то вроде показа мне верхней волны при отправке по дате и номеру заказа. такие же еще 0 конец

+-------+------+--------------+------+
| Order | Part | Ship By Date | Wave |
+-------+------+--------------+------+
|  1231 | A    | 11/04/2018   |  333 |
|  2522 | C    | 11/04/2018   |  333 |
|  2556 | A    | 11/04/2018   |    0 |
+-------+------+--------------+------+

Надеюсь, вы сможете помочь, заранее большое спасибо.


person BartO    schedule 11.04.2018    source источник
comment
Какая у вас версия? 10.?   -  person user2572833    schedule 16.05.2018


Ответы (2)


Надеюсь, эта идея поможет. В Epicor 10 вы сможете создать Common Table Expression (CTE). Из вашего примера я бы создал 2 CTE. По одному для каждого набора результатов. Для второго CTE выберите группу MAX (заказ) по дате отгрузки. Затем создайте новый TopLevel, чтобы объединить оба CTE по номеру заказа, чтобы получить желаемые результаты.

person orangeCl0uds    schedule 20.12.2018

У меня нет под рукой Epicor 10, но я добился чего-то подобного, создав подзапросы.

Вам нужно будет использовать (что, как я полагаю, Epicor называет) внутренние запросы. Ваш внутренний подзапрос необходимо будет установить как параметр Top с параметром сортировки по убыванию волны и возвратом четырех полей, перечисленных в вашем примере. Затем вы соедините таблицу с полями заказа, детали и доставки в качестве ключевых значений. Это должно работать.

Если у вас есть доступ к экземпляру SSMS, вы можете попробовать что-то вроде:

SELECT DISTINCT Order, Part, ShipByDate, Wave
FROM [Table] t
WHERE Wave = (SELECT TOP 1 WAVE FROM [Table] t2 WHERE t.Order = t2.Order and t.Part = t2.Part and t.ShipByDate = t2.ShipByDate ORDER BY Wave DESC)
person user2572833    schedule 16.05.2018