Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

QlikView Fans! We’d love to hear from you.
Share your QlikView feedback with the product team… Click here to participate in our 5-minute survey.
Rules, plus terms and conditions, can be found here.
Not applicable

Conceptual DB Questions about QlikView

I am working with the demo version of Qlikview and I am accessing a Microsoft SQL data warehouse that gets updated 2X per day.  I don't understand the methods behind using the LOAD statements along with my SQL calls.

Is the LOAD statement where all of the Join structure should be?  It seems that Qlikview does this automatically when like fieldnames are found, however inner, left and outer joins need to be specified for my data.  I find it very hard to believe that there is no graphical interface to help edit these joins, just a screen that shows you what has been done. (worthless)

I need answers to these specific questions -

1. How do you manage the automatic joins that are made between multiple tables in a Qlikview document. 

2. What is best practice for creating joins etc. should I do this in SQL or the LOAD statement ?

3. Why is the LOAD command PRIOR to the SQL call ?  this makes no sense at all - (this is not that important, it just pissed me off)

I guess this is enough to start -

Thanks -

1 Reply

Re: Conceptual DB Questions about QlikView

1. Qlikview uses field names to associate tables. The way to manage the association is by renaming fields so the tables get associated the way you want.

2. One sql statement results in 1 (or zero) tables. If you do the joins in sql then your database creates one recordset that is returned to Qlikview and becomes one table in Qlikview. If you need to get data from different databases and then combine these into one table then any joins need to be created in Qlikview.

And this article is something you might find useful: Understanding Join, Keep and Concatenate

3. The load command preceding the sql statement is called a preceding load. The result of the sql statement is piped into the preceding load statement. This is not always necessary, but sometimes you will want to further process the data using Qlikview specific functions. See this blog post: Preceding Load. Qlikview doesn't understand or parse any sql. Any sql statement is send as-is(*) to the database. It's processed only by the database so should be in the correct sql dialect of the database.

(*) but if qlikview variables are used in the sql statement then those are first replaced with the values that the variables contain.

talk is cheap, supply exceeds demand
Community Browser