Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I use Qlikview mainly with SAP, and I use the SAP connector to get data from the ERP.
I use a three tier structure with:
I created an application with about 15 millions rows in the fact table, which takes approximately 30 minutes to reload. While looking for advice on optimization, I learned more about optimized loads.
In this application, I have some code like the following one:
Concatenate([FactTable])
LOAD
[Inv_Invoice Number] AS %InvNumber_Key,
[InvLine_Sales Document] AS %SalesDocument_Key,
[InvLine_Sales Document] &'/'& [InvLine_Sales Document Item] AS %SalesDocumentItem_Key,
[Inv_Sold-to Party]&'/'&[Inv_Division]&'/'&[Inv_Sales Organization]&'/01' AS %Customer_Key,
[Inv_Sold-to Party]&'/'&[Inv_Division]&'/'&[Inv_Sales Organization]&'/01' AS %Security_Match,
Date([Inv_Billing Date]) AS %InvDate_Key,
Date([Inv_Billing Date]) AS %MainDate_Key,
[Inv_Document Condition]&'/'&[InvLine_Billing Item] AS [%InvLineCondition_Key],
[Inv_Division] AS %Division,
[Inv_Sales Organization] AS %SalesOrganization,
Upper([Inv_Sales Organization Description]) AS %SalesOrganizationDescription,
'Invoice' AS [%Type]
FROM $(vDirQVDTransformation)XXXX.qvd (qvd)
WHERE Date([Inv_Billing Date])>=$(vStartDate);
From what I understood, I have a lot of things to improve to have an optimized load. In the following case, does this mean that ;
Thank you for your insight in advance.
With a big recommendation: https://www.packtpub.com/big-data-and-business-intelligence/mastering-qlikview.
- Marcus
Well, that was a great read. Thanks. It is much clearer now.
Answering your questions:
This clause
WHERE Date([Inv_Billing Date])>=$(vStartDate); will prevent an optimized load, but there´s a workaround
1) Load all dates that needs to be loaded to a table (search the community for a table
2) Change your WHERE clause to
WHERE exists(YouDateField,[Inv_Billing Date])