Ans. SET or a LET statement is often usedTo define the variable. The SET
statement is used when you want a variableto hold the string or numeric
value that is to the right of the Equal (=) sign.
The LET statement is used when you need to evaluate what is to the right
of the Equal sign
e.g set myVar=5*2 the result is 5*2, Let myVar=5*2 the result is 10
15.Explain qlikview Resident Load
Ans. Create a new logical table in QlikView, based on a previously loaded
(resident) table.
16.Which sources qlikview can load and interpret the data
The result of a database query, made by SQL via OLE DB/ODBC.
Any type of character-delimited text files, e.g. comma separated files.
Fixed field value position format files.
Excel files in standard BIFF format.
XML tables HTML tables QlikView Data (qvd) files.
Previously created QlikView-files
Dif files (common export format from AS/400).
Custom data sources (e.g. Web Services) via a plug-in interface
17.What is MAPPING TABLES in qlikview
Ans. Sometimes you need to add an extra field to a table to use a
combination of fields
from different tables, or you want to add a field to clean up the data
structure. QlikView has an effective way to add single fields to a table called mapping
tables. In this
chapter, syntax mapping ( load statement | select statement )
applymap( mapname, expr, [ , defaultexpr ] )
18.The qlikview Peek function has the following syntax:
Ans. Peek( fieldname [ , row [ , tablename ] ] ).
20.QLIKVIEW DATA (QVD) FILES
Ans. One of the most important features in writing scripts within QlikView
is the use of QlikView Data (QVD) files. A QVD file contains a table of data
exported from QlikView. QVD is a native QlikView format. It can only be written to and read
from QlikView. The file format is optimized for speed when reading data
from a QlikView
script but it is also very compact.
store [(*|<field_list>) from] <table> into <file_name>;
21.Preceding Load in qlikview.
Ans. The preceding load gives you the advantage of working with the
QlikView syntax instead of the SQL syntax.
22.What is Dimensions
35. Could you go over again the concept of forcing un-optimized load for
the MAPPING function, respective to the qvd?
MAPPING tables may be loaded from a QVD, but it must be an unoptimized load (this is sometimes called unwrapping).
MyMap:
MAPPING LOAD F1, F2 FROM sometable.qvd (qvd);
The above mapping table will be created but it will appear to be empty
when used in MAP USING or ApplyMap(). No error, just no resulting
mapping. One workaround is to create a condition that will cause an unoptimized load. We want all the rows, so we create an always-true
condition that will return all rows.
MyMap:
MAPPING LOAD F1, F2 FROM sometable.qvd (qvd)
WHERE 1=1;
Note: In QV10+, the MAPPING prefix will trigger an unoptimized load. The
1=1 trick is not necessary.
A corollary to this is that the target of a mapping operation cannot be an
optimized QVD.
MAP Country USING MyMap;
// Optimized load, Country will not get mapped.
LOAD Customer, Country FROM customer.qvd (qvd);
36. The use of the Where 1=1 is something that will be good for mapping
fields in the future or is possible that qlikview will determine that where
1=1 will allow optimization?
Good question. We use WHERE 1=1 to force the un-optimized load
required by MAPPING LOAD. Im hopeful that if Qlikview were changed to
consider 1=1 as an optimized load, they will also recognize that MAPPING
LOAD should be non-optimized.
(Note: In QV10, MAPPING LOAD is automatically non-optimized).
37. How would you handle the need to load multiple models (ie multiple
qvws)?? I dont think you can do multiple binary loads, so what do you
recommend.
You can generate QVDs from each model and then load all the QVDs to
form the larger model. You can generate all QVDs from a qvw with a
simple loop. You can add this code to each of your model qvws.
FOR i = 1 to NoOfTables()
LET vTableName = TableName($(i)-1);
LET vOutfile = $(vTableName).qvd;
STORE [$(vTableName)] INTO [$(vOutfile)] (qvd);
NEXT i
38. How are QVD refresh scheduled?
QVDs are created by script in a QVW executed by the reload process.
Schedule the reload as you would the reload of a user facing qvw, using
the Qlikview Enterprise Management Console (QEMC) or a batch file.
43. If add the BUFFER command before each load statement pulling from
DBMS, the first execution pulls from the DB but all after are incremental
loads pulling from a file system created batch of qvds?
The BUFFER prefix does not provide incremental load when loading from a
DBMS. Subsequent reloads will load from the buffered file system QVD,
but new rows will not be fetched from the database.
When used with a load from txt files, BUFFER will provide automatic
incremental load. Subsequent reloads will add new data from the file to
the buffered QVD.
44. I am running SBE Server so documents are reloaded right from the
Documents folder. What is your recommendation for location of the QVD
generator documents? In other words, do you place them in the
Documents folder alongside your production QVWs?
I recommend putting the QVD generators in a separate Loaders folder.
Make this a mounted folder in QVS and schedule reloads as needed. Use
NTFS permissions to hide the folder from standard AP users
A number of questions were asked about the QVX format. I havent had
much experience with QVX yet. Rob Patterson has indicated he will
schedule a QlikLearn webinar specifically on the topic of QVX.
45. Does QVX also have two types of load, optimized and not optimized?
No optimized load only applies to QVD.
46. What are the other differences between QVD and QVX?
The use cases for QVX are still being discovered, and Im sure well see
some interesting uses. The scenario I currently understand is to provide
data to Qlikview when there is no ODBC provider.
47. Is QVX used as a source to other source systems or is it used to pull
the data from source systems which has no ODBC provider?
The use cases for QVX are still being discovered, and Im sure well see
some interesting uses. The scenario I currently understand is to provide
data to Qlikview when there is no ODBC provider.
48. How can I create a QVX?
The QVX (Data Exchange) format introduced with V10 is intended to be
used to pass data to QlikView in an optimized form directly from an
external source. It is an open format with an XML based description that
an external routine can write to. Hence you can use it in conjunction with
a custom data connector to attach to data sources that do not have
traditional ODBC/OLE-DB connectivity. Further you can use it in two
formats 1. As a persistent file format. If your target data source pushes data out
you can capture it and persist to a QVX file that can be loaded as a part of
your script
2. As a named pipe - if you target source exposes its own 'query' interface
your custom connector and the QlikView script can support direct calls to
fetch data during the load. The connector can pass the data into the script
in the QVX format.
QVX is intended to solve the common request from people looking to write
directly to a QVD format from an external source. Given the highly
optimized nature of a QVD file, we have introduced this new QVX format
to address the request. QVX is optimized though not to the extent of a
QVD file.
What you don't want to confuse QVX into is the notion of storing into QVX
from within a script. If you are passing data between QVW processes then
a QVD is the right way. There is no advantage of using QVX in this process.
49. How do you write out to a QVX?
50. How can you read QVX from other software than Qlikview .
Documentation of the internal QVX format is available in the Qlikview
SDK. The SDK can be installed from the Qlikview Server installation
package. Also look for examples in the Share Qlikviews section of
QlikCommunity.
You can also create a QVX with a script STORE statement:
STORE mytable INTO mytable.qvx (qvx);
This is useful to generate a sample QVX for examination or testing.
Fuzzy search finds all the values according to their degree of resemblance to the search
string. Which means, even if the spelling does not match character by character, those
results will also be shown.
What is a Bookmark in QlikView?
A bookmark in QlikView captures the selections in all states defined in a QlikView document.
It can be saved and accessed later.
What is a user bookmark and a shared server bookmark?
The User bookmark is saved in the user computer while the shared server bookmark is
saved in the server and accessible to all the allowed users.
What are the different ways in which the QlikView Alerts can be triggered?
The alerts can be triggered in three ways. (a) Automatically when there is a change in data
(b) Manually from a internal macro (c) External program running QlikView API.
What are the two ways to insert Load statements into script editor?
(a) Form File (b) Inline
When do we need to use the option Force 32 Bit?
When connecting to a database using ODBC, if the data source only provides 32-bit driver
we use this option.
What is a hidden script in QlikView?
A Hidden script is a part of the script that executes before the execution of normal script
and it is protected by a password.
What is Information density in QlikView table Viewer?
It is a ratio between the numbers of records with not null values to the total number of
records.
What is Subset Ratio?
It is ratio between numbers of distinct values found in the table as compared to total
number of distinct values in the field whose subset ratio is required.
What are the default column names in Inline data load?
The default field names when inline data is inserted is F1,F2,F3 etc. This can be edited.
What is the difference between QVX and QVD files?
The QVD file is a proprietary and optimized for minimum transformations inside QlikView but
the QVX file has a open file format which shows both the table structure and the table data
in it.
NullAsValue allows linking of data which are null but NullAsNull treats the null values as
missing values and does not allow any linking between such values.
How can we get the number of statements which have caused errors during a script
execution?
Using of ScriptErrorCount system variable.
What is the value of X in the following code?
set VAL=$1*$2;
Let X = $(VAL(6,4,9));
24