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

356
Diogenes

У меня есть эта таблица (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 
0

1 ответ на вопрос

1
adarti

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

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

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