안녕하세요...조언을 좀 구하고자 글을 올립니다...제조업 회사인데 이번에 신규 ERP(MS-AX2012)를 도입하여 SSRS 보고서를 만들고
있는 완전 초보입니다...어케어케 짜집기를 해서 쿼리를 만들었는데 부서 요청사항이 생겼습니다...월별 부분합을 만들고 싶은데 도움
을 주실 수 있나요?? 만들고자 하는 보고서는 거래처별 원장입니다...
아래 쿼리문은 영업부서에서 사용할 거래처별 원장입니다...
select
jour.InvoiceDate
, jour.INVOICEACCOUNT
, jour.LedgerVoucher
, jour.INvoiceAmount
, (select dir.NAME from CUSTTABLE c
join DIRPARTYTABLE dir on dir.RECID = c.PARTY
where c.ACCOUNTNUM = jour.INVOICEACCOUNT and c.DATAAREAID = jour.DATAAREAID
) as CustName
, trans.ITEMID,
(select transl.Name from ECORESPRODUCTTRANSLATION transl
join ECORESPRODUCT pro on pro.RECID = transl.PRODUCT
join INVENTTABLE inv on inv.PRODUCT = pro.RECID and inv.ITEMID = trans.ITEMID and inv.DATAAREAID = trans.DATAAREAID
join SystemParameters systemParam on systemParam.KEY_ = 0
where transl.LANGUAGEID = systemParam.SYSTEMLANGUAGEID
) as ItemName
, trans.QTY
, trans.SALESPRICE
, trans.LINEAMOUNT
, trans.CURRENCYCODE
, trans.LINEAMOUNTMST
--trans.TAXAMOUNT
, -ISNULL(tax.TAXAMOUNT, 0) as TaxAmount
, trans.TAXGROUP, trans.TAXITEMGROUP
, Ctrans.SettleAmountCur
from CustInvoiceJour jour
join CustInvoiceTrans trans on trans.InvoiceId = jour.InvoiceId and
trans.InvoiceDate = jour.InvoiceDate and
trans.DataAreaId = jour.DataAreaId and
trans.SalesId = jour.SalesId
--trans.InternalInvoiceId = jour.InternalInvoiceId
join CustTrans Ctrans on Ctrans.invoice = jour.invoiceid and
Ctrans.InvoiceDate = jour.InvoiceDate and
Ctrans.DataAreaid = jour.invoicedate
left outer join TAXTRANS tax on tax.SOURCERECID = trans.RECID and tax.DATAAREAID = trans.DATAAREAID and tax.SOURCETABLEID = 64 -- CustInvoiceTrans
left outer join CUSTTABLE cTable on cTable.ACCOUNTNUM = jour.INVOICEACCOUNT and cTable.DATAAREAID = jour.DATAAREAID
where trans.DataAreaId = @DataAreaId
and ((@DateFrom is null) or (@DateFrom is not null and trans.InvoiceDate >= @DateFrom))
and ((@DateTo is null) or (@DateTo is not null and trans.InvoiceDate <= @DateTo))
and ((@Vendor is null) or (@Vendor is not null and jour.INVOICEACCOUNT like '%' + @Vendor + '%'))
and ((@Item is null) or (@Item is not null and trans.ITEMID like '%' + @Item + '%'))
and ((@Currency is null) or (@Currency is not null and trans.CURRENCYCODE like '%' + @Currency + '%'))
and ((@Country is null) or (@Country is not null and cTable.CUSTCLASSIFICATIONID in (@Country)))
위 쿼리를 SSRS 보고서 편집기를 이용해 보고서를 만들고 월(ex : 1월 ~ 3월) 지정하여 조회시 해당 월이 끝나는 부분에 각 월별 부분합
을 표기하고 싶습니다... 가능할까요???
Comment 4
-
이리
2013.03.06 11:54
-
devil5538
2013.03.06 12:09
서두에 언급했듯이 초보입니다..Rollup이라 하심은...어떤것이며,,,어케 사용하는 건지....ㅠㅠ
-
devil5538
2013.03.06 12:10
그리고 rollup을 사용한다고 하셨는데 어느부분에 어케 적용을 해야 하는지 혹시 작성해주실 수 있으신가요??
-
건우아빠
2013.03.06 12:30
단순히 rollup만 가지고는 원하는 결과를 만드시는게 가능하지만 상당히 복잡할수 있습니다.
원하는 내용을 볼때 내역과 부분합을 보여 주는 방식인데 보통 이경우는 어플 단에서 만드는게 일반적인데..
디비에서 하실거라면 전체 select 컬럼을 그룹으로 잡고 당연 수치부분은 그룹함수를 써야하겠구요...
with rollup과 GROUPING 함수를 이용해서 표현 하시면 가능 합니다.
q/a에서 답글로 GROUPING을 검색하시면 비슷한 질문과 답글이 있습니다.
rollup을 사용해보시는건 어떨지요..