Only load required boundary definitions

Best practice for boundary definitions

The boundary .QVD files that are shipped with QlikMaps may contain “extra” boundary information that will never be used with your data.  For example, there are over 33,000 zip code boundaries contained in the Zip.qvd file, but realistically the data in your QlikView data model will only have fact data for a small subset of these zip codes.

It is a best practice to only keep boundary information for polygons for which you have fact data.  This prevents QlikView from using unnecessary resources spooling up boundary information that will never be plotted.

Use a WHERE EXISTS clause

FactTable:
LOAD * Inline [
	StateAbbreviation, Sales
	NC, 1234
	IL, 2345
	TX, 3456 ];

StateBoundary:
LOAD 	StateAbbreviation,
		StateBoundary
FROM .\State.qvd (qvd)
Where Exists (StateAbbreviation);

Use a LEFT KEEP clause

FactTable:
LOAD * Inline [
	StateAbbreviation, Sales
	NC, 1234
	IL, 2345
	TX, 3456 ];

StateBoundaryTemp:
LOAD	StateAbbreviation,
		StateBoundary
FROM .\State.qvd (qvd);

State: Left Keep(FactTable)
LOAD * Resident StateBoundaryTemp;

DROP Table StateBoundaryTemp;