Неверные результаты в математических операциях (MS Query Excel)


0

У меня есть эта таблица (vol_week) с четырьмя столбцами. Пример:

date_ent  | ped_kg | prd_kg | ref_kg
12/9/2017 | 345,22 | 321,23 | 12,56

Я пытаюсь вычислить (ped_kg - prd_kg + ref_kg), но запрос возвращает ошибочные значения. Иногда правильные, иногда близкие значения.

SELECT date_ent, iif((Sum(ped_kg)-Sum(prd_kg)+Sum(ref_kg))<0,0,(Sum(ped_kg)-Sum(prd_kg)+Sum(ref_kg))) AS sld_kg
FROM vol_week
WHERE date_ent Is Not Null
GROUP BY date_ent
ORDER BY date_ent

Я использую MS Query в MSExcel.

РЕДАКТИРОВАТЬ: Проблема решена :) Запрос был рассчитан с использованием отрицательных значений. Таким образом, запрос учитывает нули из <0,0условия:

SELECT date_ent, Sum(iif(((ped_kg-prd_kg)+ref_kg)<0,0,(ped_kg-prd_kg)+ref_kg)) AS sld_kg
FROM vol_week
WHERE date_ent Is Not Null
GROUP BY date_ent
ORDER BY date_ent

Ответы:


1

Ваш запрос в порядке. Возможно проблема с данными (формат). Meybe неправильно интерпретирует данные, возвращаемые mquery. Просто большое единственное значение, для prd_kg soкоторого агрегатная функция возвращает 0 для всей совокупности (см. Пример ниже) смотри пример.

Попробуйте заново подготовить mquery, вставив SQL-запрос в специальное поле.


Спасибо. Вы помогли мне увидеть проблему. Это была математика. Что мне нужно, так это вычислить каждую строку (ped_kg - prd_kg + ref_kg), возвращая ноль для негативов, а затем суммировать результаты строк, группируя по дате. Мне нужна помощь в построении запроса. Еще раз спасибо!
Диоген

@ Диоген, пожалуйста, проголосуй, если я помогу тебе. Благодарю.
adarti
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.