2015-02-09 4 views
1

У меня есть запрос, который собирает деталь из базы данных и генерирует количество строк:суммирующий столбец SSRS установить

SELECT 
    ITEMID, 
    SUM(dbo.CUSTINVOICETRANS.QTY) AS 'Quanity', 
    SUM(LINEAMOUNTMST) AS 'Sales', 
    COUNT(DISTINCT dbo.CUSTINVOICEJOUR.SALESID) AS 'Total Orders' 
INTO 
    #tempItemRevenue 
FROM 
    dbo.CUSTINVOICEJOUR INNER JOIN 
    dbo.CUSTINVOICETRANS ON dbo.CUSTINVOICEJOUR.INVOICEID = dbo.CUSTINVOICETRANS.INVOICEID 
WHERE 
    dbo.CUSTINVOICETRANS.DIMENSION2_ IN (@division) 
    AND 
    CONVERT(DATETIME, dbo.CUSTINVOICETRANS.INVOICEDATE, 101) BETWEEN @start AND @end 
GROUP BY 
    ITEMID 

SELECT 
    ITEMGROUPID AS 'Process', 
    [DESCRIPTION] AS 'Division', 
    ISNULL(PRICE/CASE WHEN PRICEUNIT = 0 THEN NULL ELSE PRICEUNIT END, 0) AS 'Unit Price', 
    SUM(LOADQTY) AS 'Load Size', 
    SUM(LOADQTY * ISNULL(PRICE/CASE WHEN PRICEUNIT = 0 THEN NULL ELSE PRICEUNIT END, 0)) AS 'Load Value', 
    SUM(Sales) as 'Sales', 
    SUM(Quanity) AS 'Quantity' 
FROM 
    dbo.INVENTTABLE INNER JOIN 
    dbo.INVENTTABLEMODULE ON dbo.INVENTTABLE.ITEMID = dbo.INVENTTABLEMODULE.ITEMID 
    INNER JOIN #tempItemRevenue ON dbo.INVENTTABLE.ITEMID = #tempItemRevenue.ITEMID 
    INNER JOIN dbo.DIMENSIONS ON NUM = dbo.INVENTTABLE.DIMENSION2_ 
    --INNER JOIN dbo.CUSTTABLE cu ON ACCOUNTNUM = CUSTACCOUNT 
WHERE 
    MODULETYPE = 2 
    AND 
    ITEMGROUPID IN (@group) 
    AND 
    dbo.INVENTTABLE.DIMENSION2_ IN (@division) 
    and LOADQTY * ISNULL(PRICE/CASE WHEN PRICEUNIT = 0 THEN NULL ELSE PRICEUNIT END, 0) > 0 
Group BY 
ITEMGROUPID,[DESCRIPTION],PRICE,PRICEUNIT 

DROP TABLE #tempItemRevenue 

Это дает результаты, как это:

Process Division Unit Price Load Size Load Value Sales Quantity 
Anodize Green Bay 0.132916  1050  139.5618 26  200 
Anodize Green Bay 0.15375   2000  307.5  447.45 2983 
Anodize Green Bay 0.156   5000  780   848  5300 
Anodize Green Bay 0.1751   17040  2983.704 278.64 1548 
Anodize Green Bay 0.187138516  13520  2530.112741 3147.35 16565 

я это в Таблица SSRS и суммирует все, но она суммирует каждую строку ... Мне нужно все с тем же Процессом, который будет суммироваться ВСЕ ВМЕСТЕ в целом. Но я не могу получить построитель отчетов 3.0, чтобы дать мне возможность суммировать все строки. В сущности, я хочу одну линию на процесс и деление (есть много комбинаций). не каждая позиция. Что я делаю неправильно? Кажется, я не могу получить итоговые суммы. The designer The current results

+0

В каждой строке есть функция SUM, уже на ней. По какой-то причине она делает это только для этого конкретного поля в одной строке. Я не суммирую итоговые значения из всех строк. Я добавлю пару изображений. – rigamonk

+0

Добавьте группу в 'Process' и' Devision' так, как вы хотите «одна строка для каждого процесса и раздела». Затем добавьте общую строку, а затем удалите детали строка. –

+0

Не позволяю мне добавить строку итогов (или я делаю это неправильно). Она просто говорит «добавьте строку», когда я делаю это, тогда положим сумму, она просто показывает то же самое, что и строка. для каждой строки, а не для всех. У меня есть сгруппированные по процессу и разделению, хотя – rigamonk

ответ

1

Таким образом, я могу добавить итоговую строку в нижней части поля Tablix так:

Нажмите на заголовке строки (так что вся строка будет выделена). Прямо, где первое текстовое поле в Tablix говорит «Процесс», вы увидите скобку (обозначающую группировку строк). Щелкните ее правой кнопкой мыши, затем перейдите в «Добавить строку», а затем «Добавить строку вне группы». Это должно дать вам одна строка вне всех групп, в которой вы можете суммировать все выше.

Смежные вопросы