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 |
+-------+------+--------------+------+

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

1 ответ

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

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

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

Если у вас есть доступ к экземпляру 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)
Другие вопросы по тегам