Неверные результаты в математических операциях (MS Query Excel)
У меня есть эта таблица (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-запрос в специальное поле.