2013-10-14 5 views
0

Я использую SQL Query Report Builder 2008 R2, я сам преподаю, хотя я могу кодировать в различных вещах хорошо, у меня есть некоторые важные знания, которые вызывают извинения, если это действительно простой вопрос!Использование команды Max с группировкой

Я хочу создать расчетное поле (Идеальная ставка), которое будет выглядеть на уровне SKU, затем найдет самую высокую зафиксированную целевую ставку для этой sku, тем самым давая мне то, что должно было быть сделано за каждый полный час, текущая целевая ставка изменяется в зависимости от доступного времени в этот час (и ноль, когда нет времени, доступного).

Я попытался использовать «max» в сочетании с группой, но продолжаю работать с ошибками или неправильной информацией.

Время ----- SKU --- Доступное время --- Фактическое - Целевое - Надежность - Идеальная ставка
00:00 - 201168 ------ 45 ---- --------- 1299 ----- 1500 ----- 86.60% ----- 2000
01:00 - 201168 ------ 00 ------ ------- 00 -------- 00 --------- 00.00% ----- 2000
02:00 - 201168 ------ 60 - ------------ 1500 ----- 2000 ----- 75,00% ----- 2000
03:00 - 201701 ------ 57 --- ---------- 306 ------ 332,5 ----- 92,03% ----- 350
04:00 - 201701 ------ 60 ---- --------- 108 ------ 350 ------- 44,08% ----- 350
05:00 - 201701 ------ 30 --- ------ ---- 109 ------ 175 ------- 62,29% ----- 350
06:00 - 202560 ------ 45 -------- ----- 505 ----- 600 -------- 84.17% ----- 800
07:00 - 202560 ------ 00 ------- ------ 00 ------- 00 --------- 00.00% ----- 800
08:00 - 202560 ------ 60 --- ---------- 500 ------ 800 ------- 62.50% ----- 800
09:00 - 201168 ------ 09 - ----------- 101 ----- 300 -------- 33.67% ----- 2000
10:00 - 201168 ------ 27 - ------------ 606 ----- 900 -------- 67.33% ----- 2000

ответ

0

Не могли бы вы предоставить подробную информацию или ошибку, которую вы получаете, и пример о некорректной информации, которую вы упомянули? Следующий код должен дать вам то, что вам нужно.

SELECT SKU, MAX([Target]) 
    FROM yourTable 
GROUP BY SKU 
+0

Спасибо за ответ, я бы попробовал какой-то код, похожий на ваш, и это это ошибка, которую я получал/получаю, просто для уточнения. Я пытаюсь создать вычисляемое поле в наборе данных, а не в таблице в отчете. –

+0

НАЗВАНИЕ: построитель отчетов Microsoft SQL Server ------------------------------ Вычисленный элемент «Ideal2» не может быть создан из-за следующей ошибки: Ожидалось выражение MDX, когда был указан полный оператор. ------------------------------ ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Выражение MDX ожидалось, когда был указан полный оператор. (Службы анализа SQL Server 2008 R2) ------------------------------ –

0

Вы должны использовать суб-запрос, чтобы получить максимальную скорость для данной SKU так:

SELECT 
    Time 
    ,SKU 
    ,Avaliable_Time 
    ,Actual 
    ,TargetLoginName 
    ,Reliability 
    ,i.Rate AS Ideal_Rate 
FROM 
    table T 
LEFT OUTER JOIN 
    (
     SELECT 
      SKU 
      ,MAX(Rate) AS Rate 
     FROM 
      table 
     GROUP BY 
      SKU 
    ) i 
    ON i.SKU = T.SKU 
Смежные вопросы