Quantcast
Viewing all articles
Browse latest Browse all 23857

Convert SQL YTD into MTD

I have a SQL Database which store the value as YTD acorss all the periods and other fields . However for the reporting purpose , I would like to convert into MTD .  We have huge amount of data store .approx size of a table around 8GB.

I have wrote a T-SQL Query to convert the data . For small set of data I can see it is converting and give me the correct result . However when I ran for full data, it taken ages . It has ran for 12 hrs and still not getting the results . May be there is some twicking or any other method required for Huge Data ?

Query Which I have used .

WITH

TBLDIFFERENCEAS


(


SELECT

ROW_NUMBER()OVER(ORDERBYCOD_PERIODO)ASROWNUMBER

,COD_PERIODOASPERIOD


,COD_CONTOASCOA


,COD_SCENARIOASSCENARIO


,LEFT(COD_AZIENDA,3)ASDATAAREAID


,COD_DEST1ASDIMENSION3_


,SUBSTRING(COD_DEST2,6,3)ASDIMENSION


,COD_DEST3ASDIMENSION7_


,COD_DEST5ASDIMENSION4_


,COD_VALUTAASCURRENCY


,SUM(IMPORTO)ASPOINTVALUE


FROM

DATI_SALDI_LORDIWHERELEFT(COD_SCENARIO,4)='2014'ANDCOD_CONTOIN(SELECTCOD_CONTOFROMCONTOWHERENATURA_CONTOIN('E','P'))

AND

COD_AZIENDAIN('AE1')


GROUP

BYCOD_PERIODO,COD_CONTO,COD_SCENARIO,COD_DEST1,COD_DEST2,COD_DEST3,COD_DEST5,COD_VALUTA,COD_AZIENDA


)


SELECT

CUR.PERIODASPERIOD

,CUR.SCENARIO,CUR.COA,CUR.DATAAREAID,CUR.DIMENSION3_,CUR.DIMENSION,CUR.DIMENSION7_,CUR.DIMENSION4_,CUR.CURRENCY


,CASEWHENCUR.PERIOD='01'THENCUR.POINTVALUEELSE CUR.POINTVALUE-PRV.POINTVALUEENDASAMOUNT

,GETDATE()


FROM

  TBLDIFFERENCECURLEFTOUTERJOINTBLDIFFERENCEPRV


ON

CUR.ROWNUMBER=PRV.ROWNUMBER+1


ORDER

BYCUR.PERIOD



Viewing all articles
Browse latest Browse all 23857

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>