SlideShare a Scribd company logo
1 of 4
---------------------- Declare variable in main page
---------------------------------------
/***************************Global Variables for Incremental
Load***********************************/
Set vNAV_Database = 'QLIKVIEW_NAV_DB.dbo.';
SET vQVDFileDir = 'Source QVDs NAV'; //
Path to QVD file(s)
SET vIncrementalDate = '[Posting Date]'; // Enter
DateTime Stamp field from DB
SET vDropTable = "'True'";
// 'True' or 'False' on whether to keep data in memory
LET vThisExecTime = today(); // Set
Data Time Stamp of Load
LET vPrevQtrStart = QuarterStart(today(),-1,4); // Set
QuarterStart of Previous Quarter wrt Reload Date
LET vCurrQtrStart = QuarterStart(today(),0,4); // Set QuarterStart
of Current Quarter wrt Reload Date
--------------------------------------------------------------------------------------
------------------------------------------------
SET vTableName_SRT = 'FACT_QV_SalesReturn_Transaction'; // Database table
name
SET vFinalQVDName_SRT = 'FACT_SalesReturn_Transaction'; // Final QVD Name
SET vInitQVDName_SRT = 'FACT_SalesReturn_Transaction_init'; // Initial
QVD Name
SET vIncrementalDate_SRT = '[SRNDET_DOCDATE]'; // Enter DateTime
Stamp field from DB
SET vSQL_Columns_SRT= // SQL Load Block
"
[SRNDET_RID],
[SRNDET_LOCID],
[SRNDET_FINYEAR],
[SRNDET_SGID],
[SRNDET_CUSTTYPE],
[SRNDET_CUSTCODE],
[SRNDET_DOCNO],
[SRN_DOCTYPE],
[SRNDET_DOCDATE],
[SRNDET_LSGID],
[SRNDET_PRDCD],
[SRNDET_BATCH],
[SRN_HQ],
[SRNDET_INVNO],
[GENDET_INCDATE],
[SRNDET_INVQTY],
[SRNDET_INVBON],
[SRNDET_UNIT],
[SRNDET_CLAIMQTY],
[SRNDET_CLAIMBONQTY],
[SRNDET_ACTRECQTY],
[SRNDET_ACTBONRECQTY],
[SRNDET_PRICE],
[SRNDET_STAT],
[SRNDET_AMT],
[SRNDET_TAXPER],
[SRNDET_TAXVALUE],
[SRNDET_OCTPER],
[SRNDET_OCTVALUE],
[SRNDET_TDISC],
[SRNDET_TDISVALUE],
[SRNDET_TAXSTATUS],
[SRNDET_MRP],
[SRNDET_TP],
[SRNDET_CRNVALUE],
[SRNDET_SCHEMEID],
[SRNDET_PRICID],
[SRNDET_MRPE],
[SRNDET_BONTAXPER],
[SRNDET_BONTAXABLE],
[SRNDET_PROCESSID],
[SRNDET_RETTYPE],
[SRNDET_RETTYPE_DESC],
[GL_CODE],
[SRN_HQ_NEW],
[SRNDET_ZONE],
[SRNDET_STATE],
[SRN_GeoCount],
[SRN_RmGeoCount],
[SRN_INVQTY],
[SRN_INVVAL]
"
;
SET vQVD_Columns_SRT= // QVD Load
Block
"
[SRNDET_RID],
[SRNDET_LOCID],
[SRNDET_FINYEAR],
[SRNDET_SGID],
[SRNDET_CUSTTYPE],
[SRNDET_CUSTCODE],
[SRNDET_DOCNO],
[SRN_DOCTYPE],
[SRNDET_DOCDATE],
[SRNDET_LSGID],
[SRNDET_PRDCD],
[SRNDET_BATCH],
[SRN_HQ],
[SRNDET_INVNO],
[GENDET_INCDATE],
[SRNDET_INVQTY],
[SRNDET_INVBON],
[SRNDET_UNIT],
[SRNDET_CLAIMQTY],
[SRNDET_CLAIMBONQTY],
[SRNDET_ACTRECQTY],
[SRNDET_ACTBONRECQTY],
[SRNDET_PRICE],
[SRNDET_STAT],
[SRNDET_AMT],
[SRNDET_TAXPER],
[SRNDET_TAXVALUE],
[SRNDET_OCTPER],
[SRNDET_OCTVALUE],
[SRNDET_TDISC],
[SRNDET_TDISVALUE],
[SRNDET_TAXSTATUS],
[SRNDET_MRP],
[SRNDET_TP],
[SRNDET_CRNVALUE],
[SRNDET_SCHEMEID],
[SRNDET_PRICID],
[SRNDET_MRPE],
[SRNDET_BONTAXPER],
[SRNDET_BONTAXABLE],
[SRNDET_PROCESSID],
[SRNDET_RETTYPE],
[SRNDET_RETTYPE_DESC],
[GL_CODE],
[SRN_HQ_NEW],
[SRNDET_ZONE],
[SRNDET_STATE],
[SRN_GeoCount],
[SRN_RmGeoCount],
[SRN_INVQTY],
[SRN_INVVAL]
"
;
//Inital Load OR load on start of every new Quarter
IF ISNULL(QvdCreateTime('$(vQVDFileDir)$(vInitQVDName_SRT).qvd')) OR $(vThisExecTime)
= $(vCurrQtrStart)
OR $(vReloadTypeFlag) = 1 then
//Create QVD with data till previous quarter
[$(vFinalQVDName_SRT)]:
SQL SELECT
$(vSQL_Columns_SRT)
FROM $(vSIM_Database)$(vTableName_SRT)
WHERE $(vIncrementalDate_SRT) < '$(vPrevQtrStart)'
;
If ScriptErrorCount = 0 then
//Store Table into QVD
STORE [$(vFinalQVDName_SRT)] INTO [$(vQVDFileDir)$
(vInitQVDName_SRT).qvd];
If $(vDropTable) = 'True' then
DROP TABLE [$(vFinalQVDName_SRT)];
End If
End If
//Merge above QVD with data from SQL from previous quarter till date
[$(vFinalQVDName_SRT)]:
SQL SELECT
$(vSQL_Columns_SRT)
FROM $(vSIM_Database)$(vTableName_SRT)
WHERE $(vIncrementalDate_SRT) >= '$(vPrevQtrStart)'
AND $(vIncrementalDate_SRT) <= '$(vThisExecTime)'
;
Concatenate
LOAD
$(vQVD_Columns_SRT)
FROM [$(vQVDFileDir)$(vInitQVDName_SRT).qvd] (qvd)
;
If ScriptErrorCount = 0 then
//Store Table into QVD
STORE [$(vFinalQVDName_SRT)] INTO [$(vQVDFileDir)$
(vFinalQVDName_SRT).qvd];
//Set Last Execution Time
LET vLastExecTime = vThisExecTime;
//Drop Table?
If $(vDropTable) = 'True' then
DROP TABLE [$(vFinalQVDName_SRT)];
End If
End If
//Incremental Load
ELSE
[$(vFinalQVDName_SRT)]:
SQL SELECT
$(vSQL_Columns_SRT)
FROM $(vSIM_Database)$(vTableName_SRT)
WHERE $(vIncrementalDate_SRT) >= '$(vPrevQtrStart)'
AND $(vIncrementalDate_SRT) <= '$(vThisExecTime)'
;
Concatenate
LOAD
$(vQVD_Columns_SRT)
FROM [$(vQVDFileDir)$(vInitQVDName_SRT).qvd] (qvd)
;
If ScriptErrorCount = 0 then
//Store Table into QVD
STORE [$(vFinalQVDName_SRT)] INTO [$(vQVDFileDir)$
(vFinalQVDName_SRT).qvd];
//Set Last Execution Time
LET vLastExecTime = vThisExecTime;
//Drop Table?
If $(vDropTable) = 'True' then
DROP TABLE [$(vFinalQVDName_SRT)];
End If
End If
ENDIF

More Related Content

What's hot

Oracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 samplingOracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 sampling
Kyle Hailey
 

What's hot (10)

Exadata - BULK DATA LOAD Testing on Database Machine
Exadata - BULK DATA LOAD Testing on Database Machine Exadata - BULK DATA LOAD Testing on Database Machine
Exadata - BULK DATA LOAD Testing on Database Machine
 
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
 
Oracle goldengate 11g schema replication from standby database
Oracle goldengate 11g schema replication from standby databaseOracle goldengate 11g schema replication from standby database
Oracle goldengate 11g schema replication from standby database
 
How to create a pluggable database by cloning an existing local pdb
How to create a pluggable database by cloning an existing local pdbHow to create a pluggable database by cloning an existing local pdb
How to create a pluggable database by cloning an existing local pdb
 
Data Guard New Features
Data Guard New FeaturesData Guard New Features
Data Guard New Features
 
Beginbackup
BeginbackupBeginbackup
Beginbackup
 
SCALE 15x Minimizing PostgreSQL Major Version Upgrade Downtime
SCALE 15x Minimizing PostgreSQL Major Version Upgrade DowntimeSCALE 15x Minimizing PostgreSQL Major Version Upgrade Downtime
SCALE 15x Minimizing PostgreSQL Major Version Upgrade Downtime
 
MariaDB Temporal Tables
MariaDB Temporal TablesMariaDB Temporal Tables
MariaDB Temporal Tables
 
Oracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 samplingOracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 sampling
 
Ak13 pam
Ak13 pamAk13 pam
Ak13 pam
 

Viewers also liked (8)

cetificate
cetificatecetificate
cetificate
 
Qatar's Legislative Process
Qatar's Legislative ProcessQatar's Legislative Process
Qatar's Legislative Process
 
Wills in qatar
Wills in qatarWills in qatar
Wills in qatar
 
Last Wills & Testaments Under Qatar Legal System - Do You Need A Will in Qatar?
Last Wills & Testaments Under Qatar Legal System - Do You Need A Will in Qatar?Last Wills & Testaments Under Qatar Legal System - Do You Need A Will in Qatar?
Last Wills & Testaments Under Qatar Legal System - Do You Need A Will in Qatar?
 
thiwa new cv
thiwa new cvthiwa new cv
thiwa new cv
 
GK 3980 Greek Readings in Aristotle's Metaphysics
GK 3980 Greek Readings in Aristotle's MetaphysicsGK 3980 Greek Readings in Aristotle's Metaphysics
GK 3980 Greek Readings in Aristotle's Metaphysics
 
The future vision of Homecare medicines
The future vision of Homecare medicinesThe future vision of Homecare medicines
The future vision of Homecare medicines
 
Caring in America
Caring in AmericaCaring in America
Caring in America
 

Similar to Incremental load script

新建 文本文档
新建 文本文档新建 文本文档
新建 文本文档
mytwice
 
C++, Implement the class BinarySearchTree, as given in listing 16-4 .pdf
C++, Implement the class BinarySearchTree, as given in listing 16-4 .pdfC++, Implement the class BinarySearchTree, as given in listing 16-4 .pdf
C++, Implement the class BinarySearchTree, as given in listing 16-4 .pdf
rohit219406
 
Lab08Lab08.cppLab08Lab08.cpp.docx
Lab08Lab08.cppLab08Lab08.cpp.docxLab08Lab08.cppLab08Lab08.cpp.docx
Lab08Lab08.cppLab08Lab08.cpp.docx
DIPESH30
 

Similar to Incremental load script (15)

Diseqc
DiseqcDiseqc
Diseqc
 
Casnewb
CasnewbCasnewb
Casnewb
 
WordPress Configuration tips
WordPress Configuration tipsWordPress Configuration tips
WordPress Configuration tips
 
GedcomX SDK - Getting Started
GedcomX SDK - Getting StartedGedcomX SDK - Getting Started
GedcomX SDK - Getting Started
 
Dataguard physical stand by setup
Dataguard physical stand by setupDataguard physical stand by setup
Dataguard physical stand by setup
 
SAS codes and tricks Comprehensive all codes
SAS codes and tricks Comprehensive all codesSAS codes and tricks Comprehensive all codes
SAS codes and tricks Comprehensive all codes
 
SAS codes and tricks Comprehensive all codess
SAS codes and tricks Comprehensive all codessSAS codes and tricks Comprehensive all codess
SAS codes and tricks Comprehensive all codess
 
新建 文本文档
新建 文本文档新建 文本文档
新建 文本文档
 
Oracle data guard configuration in 12c
Oracle data guard configuration in 12cOracle data guard configuration in 12c
Oracle data guard configuration in 12c
 
Broker otw.pptx
Broker otw.pptxBroker otw.pptx
Broker otw.pptx
 
Stacki and Chef at Pardot
Stacki and Chef at PardotStacki and Chef at Pardot
Stacki and Chef at Pardot
 
Quick reference for curl
Quick reference for curlQuick reference for curl
Quick reference for curl
 
C++, Implement the class BinarySearchTree, as given in listing 16-4 .pdf
C++, Implement the class BinarySearchTree, as given in listing 16-4 .pdfC++, Implement the class BinarySearchTree, as given in listing 16-4 .pdf
C++, Implement the class BinarySearchTree, as given in listing 16-4 .pdf
 
Treatment, Architecture and Threads
Treatment, Architecture and ThreadsTreatment, Architecture and Threads
Treatment, Architecture and Threads
 
Lab08Lab08.cppLab08Lab08.cpp.docx
Lab08Lab08.cppLab08Lab08.cpp.docxLab08Lab08.cppLab08Lab08.cpp.docx
Lab08Lab08.cppLab08Lab08.cpp.docx
 

Incremental load script

  • 1. ---------------------- Declare variable in main page --------------------------------------- /***************************Global Variables for Incremental Load***********************************/ Set vNAV_Database = 'QLIKVIEW_NAV_DB.dbo.'; SET vQVDFileDir = 'Source QVDs NAV'; // Path to QVD file(s) SET vIncrementalDate = '[Posting Date]'; // Enter DateTime Stamp field from DB SET vDropTable = "'True'"; // 'True' or 'False' on whether to keep data in memory LET vThisExecTime = today(); // Set Data Time Stamp of Load LET vPrevQtrStart = QuarterStart(today(),-1,4); // Set QuarterStart of Previous Quarter wrt Reload Date LET vCurrQtrStart = QuarterStart(today(),0,4); // Set QuarterStart of Current Quarter wrt Reload Date -------------------------------------------------------------------------------------- ------------------------------------------------ SET vTableName_SRT = 'FACT_QV_SalesReturn_Transaction'; // Database table name SET vFinalQVDName_SRT = 'FACT_SalesReturn_Transaction'; // Final QVD Name SET vInitQVDName_SRT = 'FACT_SalesReturn_Transaction_init'; // Initial QVD Name SET vIncrementalDate_SRT = '[SRNDET_DOCDATE]'; // Enter DateTime Stamp field from DB SET vSQL_Columns_SRT= // SQL Load Block " [SRNDET_RID], [SRNDET_LOCID], [SRNDET_FINYEAR], [SRNDET_SGID], [SRNDET_CUSTTYPE], [SRNDET_CUSTCODE], [SRNDET_DOCNO], [SRN_DOCTYPE], [SRNDET_DOCDATE], [SRNDET_LSGID], [SRNDET_PRDCD], [SRNDET_BATCH], [SRN_HQ], [SRNDET_INVNO], [GENDET_INCDATE], [SRNDET_INVQTY], [SRNDET_INVBON], [SRNDET_UNIT], [SRNDET_CLAIMQTY], [SRNDET_CLAIMBONQTY], [SRNDET_ACTRECQTY], [SRNDET_ACTBONRECQTY], [SRNDET_PRICE], [SRNDET_STAT], [SRNDET_AMT], [SRNDET_TAXPER], [SRNDET_TAXVALUE], [SRNDET_OCTPER], [SRNDET_OCTVALUE],
  • 2. [SRNDET_TDISC], [SRNDET_TDISVALUE], [SRNDET_TAXSTATUS], [SRNDET_MRP], [SRNDET_TP], [SRNDET_CRNVALUE], [SRNDET_SCHEMEID], [SRNDET_PRICID], [SRNDET_MRPE], [SRNDET_BONTAXPER], [SRNDET_BONTAXABLE], [SRNDET_PROCESSID], [SRNDET_RETTYPE], [SRNDET_RETTYPE_DESC], [GL_CODE], [SRN_HQ_NEW], [SRNDET_ZONE], [SRNDET_STATE], [SRN_GeoCount], [SRN_RmGeoCount], [SRN_INVQTY], [SRN_INVVAL] " ; SET vQVD_Columns_SRT= // QVD Load Block " [SRNDET_RID], [SRNDET_LOCID], [SRNDET_FINYEAR], [SRNDET_SGID], [SRNDET_CUSTTYPE], [SRNDET_CUSTCODE], [SRNDET_DOCNO], [SRN_DOCTYPE], [SRNDET_DOCDATE], [SRNDET_LSGID], [SRNDET_PRDCD], [SRNDET_BATCH], [SRN_HQ], [SRNDET_INVNO], [GENDET_INCDATE], [SRNDET_INVQTY], [SRNDET_INVBON], [SRNDET_UNIT], [SRNDET_CLAIMQTY], [SRNDET_CLAIMBONQTY], [SRNDET_ACTRECQTY], [SRNDET_ACTBONRECQTY], [SRNDET_PRICE], [SRNDET_STAT], [SRNDET_AMT], [SRNDET_TAXPER], [SRNDET_TAXVALUE], [SRNDET_OCTPER], [SRNDET_OCTVALUE], [SRNDET_TDISC], [SRNDET_TDISVALUE], [SRNDET_TAXSTATUS], [SRNDET_MRP], [SRNDET_TP], [SRNDET_CRNVALUE], [SRNDET_SCHEMEID],
  • 3. [SRNDET_PRICID], [SRNDET_MRPE], [SRNDET_BONTAXPER], [SRNDET_BONTAXABLE], [SRNDET_PROCESSID], [SRNDET_RETTYPE], [SRNDET_RETTYPE_DESC], [GL_CODE], [SRN_HQ_NEW], [SRNDET_ZONE], [SRNDET_STATE], [SRN_GeoCount], [SRN_RmGeoCount], [SRN_INVQTY], [SRN_INVVAL] " ; //Inital Load OR load on start of every new Quarter IF ISNULL(QvdCreateTime('$(vQVDFileDir)$(vInitQVDName_SRT).qvd')) OR $(vThisExecTime) = $(vCurrQtrStart) OR $(vReloadTypeFlag) = 1 then //Create QVD with data till previous quarter [$(vFinalQVDName_SRT)]: SQL SELECT $(vSQL_Columns_SRT) FROM $(vSIM_Database)$(vTableName_SRT) WHERE $(vIncrementalDate_SRT) < '$(vPrevQtrStart)' ; If ScriptErrorCount = 0 then //Store Table into QVD STORE [$(vFinalQVDName_SRT)] INTO [$(vQVDFileDir)$ (vInitQVDName_SRT).qvd]; If $(vDropTable) = 'True' then DROP TABLE [$(vFinalQVDName_SRT)]; End If End If //Merge above QVD with data from SQL from previous quarter till date [$(vFinalQVDName_SRT)]: SQL SELECT $(vSQL_Columns_SRT) FROM $(vSIM_Database)$(vTableName_SRT) WHERE $(vIncrementalDate_SRT) >= '$(vPrevQtrStart)' AND $(vIncrementalDate_SRT) <= '$(vThisExecTime)' ; Concatenate LOAD $(vQVD_Columns_SRT) FROM [$(vQVDFileDir)$(vInitQVDName_SRT).qvd] (qvd) ; If ScriptErrorCount = 0 then //Store Table into QVD STORE [$(vFinalQVDName_SRT)] INTO [$(vQVDFileDir)$
  • 4. (vFinalQVDName_SRT).qvd]; //Set Last Execution Time LET vLastExecTime = vThisExecTime; //Drop Table? If $(vDropTable) = 'True' then DROP TABLE [$(vFinalQVDName_SRT)]; End If End If //Incremental Load ELSE [$(vFinalQVDName_SRT)]: SQL SELECT $(vSQL_Columns_SRT) FROM $(vSIM_Database)$(vTableName_SRT) WHERE $(vIncrementalDate_SRT) >= '$(vPrevQtrStart)' AND $(vIncrementalDate_SRT) <= '$(vThisExecTime)' ; Concatenate LOAD $(vQVD_Columns_SRT) FROM [$(vQVDFileDir)$(vInitQVDName_SRT).qvd] (qvd) ; If ScriptErrorCount = 0 then //Store Table into QVD STORE [$(vFinalQVDName_SRT)] INTO [$(vQVDFileDir)$ (vFinalQVDName_SRT).qvd]; //Set Last Execution Time LET vLastExecTime = vThisExecTime; //Drop Table? If $(vDropTable) = 'True' then DROP TABLE [$(vFinalQVDName_SRT)]; End If End If ENDIF