Запрос DSum медленный, когда это запрос Make Table - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь определить, на какие продукты приходится 80% продаж, и поэтому мне нужен способ получить текущую сумму, а также общую сумму для моих данных.Запрос выполняется относительно быстро, если это просто запрос Select, но как только я изменяю его на запрос Make Table, он останавливается.Если проанализировать годовой объем продаж, я получу приблизительно 26 000 различных кодов продуктов.

Вот код SQL запроса:

SELECT
    tblRaw.ID,
    tblRaw.PRODUCT,
    tblRaw.PRODUCT_DESC,
    tblRaw.CAT_1,
    tblRaw.CATEGORY_DESC,
    tblRaw.QTY_Sold,
    tblRaw.Sales,
    tblRaw.Cost,
    IIf([Sales]=0,0,([Sales]-[Cost])/[Sales]) AS [GM%],
    Format(DSum("[Sales]","[tblRaw]","[ID]<=" & [ID]),"$#,##0") AS RunTot,
    Format(DSum("[Sales]","[tblRaw]"),"$#,##0") AS TotSum,
    ([RunTot]/[TotSum]) AS CummPer,
    IIf([CummPer]<=0.8,"A",IIf([CummPer]<=0.95,"B","C")) AS Class,
    tblOH_Company.OH_QTY AS QTY_OH,
    tblOH_Company.Value AS Value_OH
FROM tblRaw LEFT JOIN tblOH_Company ON tblRaw.PRODUCT = tblOH_Company.Product
ORDER BY tblRaw.Sales DESC;

Примечание. Если я удалю объединенную таблицу (tblOH_Company)), Я не вижу улучшений.

Буду признателен за любые предложения.

...