0% found this document useful (0 votes)
635 views

Qlik Interview Questions & Answers Updated

Section access in Qlik Sense can be given to users using script or the QMC. Using script, security tables are loaded and access is managed through them. Using QMC, access rules are created for specific resources like streams, sheets, or app objects and conditions are set for which users have access. The architecture of Qlik Sense consists of nodes that run software services for specific roles. It can vary from single to multiple server installations and offers flexibility and scalability. QlikView focuses on guided analytics while Qlik Sense emphasizes self-service data discovery and storytelling capabilities.

Uploaded by

chetan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
635 views

Qlik Interview Questions & Answers Updated

Section access in Qlik Sense can be given to users using script or the QMC. Using script, security tables are loaded and access is managed through them. Using QMC, access rules are created for specific resources like streams, sheets, or app objects and conditions are set for which users have access. The architecture of Qlik Sense consists of nodes that run software services for specific roles. It can vary from single to multiple server installations and offers flexibility and scalability. QlikView focuses on guided analytics while Qlik Sense emphasizes self-service data discovery and storytelling capabilities.

Uploaded by

chetan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Interview Questions & Answers

Q1. How to give section access in Qlik sense?


Ans There are two methods of giving section access to user for particular data:
Using Script
Using QMC

Using Script : Access control is managed through one or several security tables loaded in the
same way as Qlik Sense normally loads data. This makes it possible to store these tables in a
normal database. The script statements managing the security tables are given within the
access section, which in the script is initiated by the statement Section Access. If an access
section is defined in the script, the part of the script loading the app data must be put in a
different section, initiated by the statement Section Application.
Example : Section Access; Load * Inline [ ACCESS, USERID ADMIN, A USER, U ]; Section
Application; Load .... from ....;

Using QMC : 1. Disable the default stream level access rule


2. Create a new rule for specific access i.e. stream, sheet, app object depends on need
3. Give the appropriate condition for the use and access level

Q2. How to give the access of Qlik sense Hub or QMC to the user using an URL?
Ans 1. Create new access rule and apply tokens to it
2. Edit the rule depending upon need
3. Provide port, authentication and advance settings Que Task tab in Qlik view QMC

Q3. Architecture in Qlik?


Ans. The Qlik Sense architecture consists of one or more nodes. Each node runs some or all of
the software services that perform specific roles in a Qlik Sense site. You can distribute services
across nodes for better performance and scalability. The architecture is flexible enough to suit
the needs of most organizations, and can vary from small, single-server sites to large, multi-
server installations. A multi-node, distributed architecture offers the most flexibility, consisting
of multiple nodes that together form a scalable and high-performance site. You define a central
node as the main point of control.
Q4. What is the difference between QlikView and QlikSense?
Qlikview QlikSense
BI data discovery product that is used to A smart and user friendly analytics tools that
create guided analytics applications as well as can generate personalized reports and very
dashboards designed for business challenges detailed dashboards in an instant
Qlik view is for guided analytics Qlik sense is for self service data discovery
QlikView Lacks the feature of Story Telling QlikSense has a feature of Story Telling
Provide an in the box application Application can be developed on both web
development platform based qlik sense and also in box.

Q5. Difference between WildMatch() and Match()?


Ans. WildMatch() : WildMatch is used for a match where a string can be part of the search
string.
Wildmatch does a case insensitive search and returns an Integer value

Match() : Match(Name,'Vivek'), returns true if a person's name is Vivek (case insensitive).


Q6. Difference between LET & SET?
Ans. They are used to assign values to variables in the load script. The main difference is that
while SET assigns the value to the variable without evaluation, as a string, the LET first evaluates
the expression at the right part of the "=" sign, then stores the value.
SET : SET variable = 1+1
This stores the value as string “1+1”.
LET : LET variable = 1+1
This will evaluate the value and stores as 2.
Q7. Use of Histogram chart in Qlik sense?
Ans. The histogram organizes large amounts of data, and produces a visualization quickly, using
a single dimension. A histogram also known as frequency plot distributes the dimension points
over a certain range of intervals and displays the frequency of each bin or bar in the
distribution. This gives a continuous range of values placed at equidistant intervals.

Q8. Types of load available in Qlik.


Ans 1. Load from file : Loading Data from an existing file such as excel, csv, qvd, skv etc.
2. Inline Load : Inline load is used if data should be typed within the script, and not loaded from
a file. Data entered through an inline clause must be enclosed by double Quotation Marks in
Scripting or with square brackets. The text between these is interpreted in the same way as the
content of a file.
3. Resident load: In some cases, we will need to read the same table more than once in a single
script execution. This means, querying the database (or QVDs) and pulling data from it, and
then reprocessing that same data after the first read in order to make it adequate for our data
model. Since the data is being stored in RAM after each query during the script execution, we
can use that RAM-stored data instead of going directly to the original data source. This is
accomplished via a Resident load. Resident Load is used for loading the data from previously
loaded tables.
4. Incremental load : QlikView Incremental loading helps you update your scripts every time
new entries are been made. The files that are loaded with data and are very large might give
you trouble while loading. It will take up a lot of system’s in-memory and loading will very slow.
To avoid all this, incremental loading in QlikView loads only the newly added or updated data.
5. Binary load : QlikView Binary load is the file loading of pre-existing QVW files from QlikView
document to another. Such binary QVW data files are loaded from the RAM to disk (in 0s and 1
s) and is then ready for loading into another QlikView file/document. This process of binary
loading can also be said as replication of the data model of one document to another. The
advantage of binary loading is that user doesn’t have to fetch the data files from the external
source to load it into an existing file. The QVW files loaded through binary can then manipulate
in the existing document or can also combine into the larger data file.
6. Buffer load : We use QlikView buffer load statement to transform a file into QVD file or
create and maintain a file as QVD in QlikView’s memory for future use. Such files are created
using a Buffer prefix and typically stores in the user defined location selected through User
Preferences > Locations.
7. Bundle load: The Bundle prefix is used to include external files, such as image or sound files,
or objects connected to a field value, to be stored in the qvw file.
Syntax:
Bundle [Info] ( loadstatement | selectstatement)
8. Preceding load: The preceding load is used in loading a new statement by using elements
from already existing load statements in the same script. The data is processed from the first
load statement which is south of the script editor and then the second load statement is
processed which is north of the script editor and the data is used by it.
Q9. Types of incremental load?
Ans 1. Insert only
2. Insert and update
3. Insert, update and delete

Q10. Optimization techniques


Ans. 1. Remove unwanted fields
2. Use Autonumber functions to convert Composite keys to number
3. Avoid Link table for large data model and use Concatenate
4. Remove Timestamp from data
5. Aggregate data when summary is required
6. Replace joins with Apply map

Q11. How to create security rule in Qlik sense?


Ans 1. Select Security rules on the QMC start page
2. Click Create new in the action bar.
3. Under Identification, in the Create rule from template drop-down list, select the resource
type to create a rule for.
4. If needed, add additional resources to the resource filter.
5. In the Basic section, click Plus to add more conditions (optional).
6. Define the resource filters, see: Defining resource filters.
7. Select the applicable Actions to assign access rights to the user for the resource.
8. Select a user condition that specifies which users the rule will apply to.
9. In the Advanced view, you can select where the rule should be applied from the Context
drop-down list.
10. Click Preview to view the access rights that your rule will create and the users and resources
that they apply to.
11. Click Apply to create and save the rule.

Q12. Rowno Vs Recno


Ans. Rowno() gives you the row number of the output row.
Recno() gives you the row number of the input row.
RecNo( )
Returns an integer for the number of the currently read row of the source data table. The first
record is number 1.
RowNo( )
Returns an integer for the position of the current row in the resulting Qlik internal table. In
contrast to RecNo( ), which counts the records in the raw data table, the RowNo( ) function
does not count records that are excluded by where clauses and is not reset when a raw data
table is concatenated to another. The first row is number 1.

Q13. Peek Vs Previous


Peek() finds the value of a field in a table for a row that has already been loaded or that exists
in internal memory. The row number can be specified, as can the table.
Syntax:
Peek(fieldname [ , row [ , tablename ] ] )
Row must be an integer. 0 denotes the first record, 1 the second and so on. Negative numbers
indicate order from the end of the table. -1 denotes the last record read.
If no row is stated, -1 is assumed.
Tablename is a table label without the ending colon. If no tablename is stated, the current table
is assumed. If used outside the LOAD statement or referring to another table, the tablename
must be included.
Previous()
Previous() finds the value of the expr expression using data from the previous input record that
has not been discarded because of a where clause. In the first record of an internal table, the
function will return NULL.
Syntax:
Previous(expression)
The Previous() function may be nested in order to access records further back. Data is fetched
directly from the input source, making it possible to also refer to fields which have not been
loaded into Qlik Sense, that is, even if they have not been stored in the associated database.

Q14. Symbol Table in Qlikview


During the QlikView script run, after each load statement, the Qlik engine transforms the data
loaded into two table types: one data table and several symbol tables. The engine creates one
symbol table per field:

The symbol tables contain one row per distinct value of the field. Each row contains a pointer
and the value of the field, both the numeric value and the textual component. Basically, the
symbol tables are look-up tables for the field values.

The data tables are the same tables as you can see in the QlikView internal table viewer
(<CTRL>-T) when you have chosen the “Internal table view” – the same number of rows, the
same number of columns. However, the tables do not contain the data itself – they contain the
pointers only. But since the pointers can be used to look up the real value in the symbol tables,
no information has been lost.

These pointers are no ordinary pointers. They are bit-stuffed indices, meaning – they only have
as many bits that it takes to represent the field, never more. So if a field contains four distinct
values, the index is only two bits long, because that is the number of bits it takes to represent
four values. Hence, the data table becomes much smaller than it would have been otherwise.
The bit-stuffed pointers and the symbol tables are the reasons why the Qlik engine can
compress data the way it can.

Understanding this will help you optimize your document. It’s obvious that the number of
records and number of columns in a table will affect the amount of memory used, but there are
also other factors:

 The length of the symbols will affect the size of the symbol table.
 The number of distinct values in a field will affect the number of rows in the symbol
table as well as the length of the pointers.

Q15. Diff. between Join, Keep and Concatenate


Join()
JOIN will combine rows where the Key value matches.

 The keyword OUTER will also retain rows that do not match rows in the other table.
 The keyword LEFT will retain rows from the left table but only matching rows from the
right table
 The keyword RIGHT will retain rows from the right table but only matching rows from
the left table
 The keyword INNER will retain rows matching the left table and right table
Concatenate
Concatenate appends the rows of one table to another. Concatenate never merges any rows.
The number of rows in a concatenated table is always the sum of the rows from the two input
tables.
Keep
The keep command in Qlik is used to combine data from two data sets keeping both the data
sets available in memory. It is very similar to joins except for two major differences. First
difference is − in case of keep; both the datasets are available in QlikView's memory while in
join the load statements produce only one data set from which you have to choose the
columns. The second difference being − there is no concept of outer keep where as we have
outer join available in case of joins.
Link: Example for Keep
Q16. What is Tier architecture & advantages
The Three-tier Architecture includes three layers in order to extract the data from the various
database and store data in the QlikView data file, apply the business logic and develop the data
model using QVD files and finally create the dashboard by using the second layer as a binary
load which helps the business user to analyze and process the data.
1. Load (Extract Layer and QVD Layer)
2. Transform ( QlikMart Layer)
3. Presentation (Presentation Layer)
Advantages:

Performance Improvement:

Due to QVD file, loading can become 100 times faster than loading data from databases.

Flexibility:

It provides more flexibility as QlikView uses binary load for presentation layer. This transform
can be utilized by multiple dashboards.

Easy to maintain:

Maintaining QVD files is very easy as QlikView has separate QVD generator files for every data
source. If there is any failure, it is very easy to find out the faulty one instead of taking down all
the data sources to fix one.

Reusability:

Many applications can use QVD and transform files.

Q17. Link Table Vs Concatenate


Link Tables and concatenation of tables are used to resolve data knots like synthetic keys
and/or circular references which normally occur when dealing with more than one fact table
Concatenate
“This statement forces concatenation with an existing named table or the latest previously
created Logical Table. A concatenation is in principle the same as the SQL UNION statement,
but with two differences: first that Concatenate prefix can be used no matter if the tables have
identical field names or not; and secondly that no removals of identical records are made”
Most basic example of Concatenate usage could be when you need to merge two or more
tables that have identical structures,
The concatenation of two or more fact tables will let you simplify your model and will let you
create a star schema model like for an optimum performance.
Link Table
A junction table is a database table that contains common fields from two or more other
database tables within the same database. It is on the many side of a oneto-many relationship
with each of the other tables. Junction tables are known under many names, among them
cross-reference table, bridge table, join table, map table, intersection table, linking table, many-
to-many resolver, Link Table, pairing table, pivot table, transition table, or association table.
Or
Link Table: It´s a table that contains common fields from two or more tables (within the same
database or not).
Link: Detailed Pdf for Link Table vs Concatenate

Q18. Mapping Load Advantages & Disadvantages


The mapping prefix is used to create a mapping table that can be used to, for example,
replacing field values and field names during script execution.
Syntax:
Mapping( loadstatement | selectstatement )
The mapping prefix can be put in front of a LOAD or a SELECT statement and will store the
result of the loading statement as a mapping table. Mapping provides an efficient way to
substituting field values during script execution. A mapping table consists of two columns, the
first containing comparison values and the second containing the desired mapping values.
Mapping tables are stored temporarily in memory and dropped automatically after script
execution.
The content of the mapping table can be accessed using e.g. the Map … Using statement, the
Rename Field statement, the Applymap() function or the Mapsubstring() function.
ApplyMap('map_name', expression [ , default_mapping ] )
default_mapping is the value, if mentioned will be returned if there is no match of the field
values from the existing mapping table. If not mentioned, the value is returned as it is in the
resultant table.
Advantages
One advantage of mapping loads is that you can use the mapped value immediately, rather
than waiting for a second left join.
Disadvantages
ID in the mapping table should be unique. If duplicate values exists then the value for first
occurrence will be returned.

Q19. Optimized vs Unoptimized Loads

QVD files can be read in two modes: standard (fast) and optimized (faster). The selected mode
is determined automatically by the QlikView script engine. Optimized mode can be utilized only
when all loaded fields are read without any transformations (formulas acting upon the fields),
though the renaming of fields is allowed. A WHERE clause causing QlikView to unpack the
records will also disable the optimized load.
1)F1 as NewField - Renaming allowed, so it is optimized load
Ex:
LOAD
Field1 AS Date,
Field2 AS Sales
FROM DataSource;
2)F1 * 2 as NewField – Transformation is not allowed, so it is non optimized load
Ex:
LOAD
Field1 AS Date,
Field2 AS Sales,
Discount,
Field2 - Discount AS NetSales // This is a transformation
FROM DataSource;
3)1 as NewField – Cannot add a new field, so it is non optimized load
LOAD
Field1 AS Date,
Field2 AS Sales,
1 AS Flag // Adding new field
FROM DataSource;
4)WHERE Exists(F1) – We can use Single Field in Exists(), so it is an Optimized load
LOAD
Field1 AS Date,
Field2 AS Sales
FROM DataSource
WHERE Exists(Field1);
5)where exists(F1, Some Transformation) – We cannot use Multiple Field in Exists(), so it is a
non Optimized load
LOAD
FirstName,
LastName,
Sales
FROM DataSource
WHERE Exists(Field1, FirstName& ' ' &LastName);
Q20. Cyclic Dimension in Qlik Sense
First, create a master dimension with a combination of pick and match functions.
Next, create a variable vCyclicDim using a system field, $Field, which contains all the fields in
the table. Use this variable in another using dollar-sign expansion.

Notice the logic for the vCyclicDim to display Customer Country by default until the user selects
a value from the cyclic dimension group.
Finally, use a calculated dimension in the table using a dollar-sign expansion.
Now, you can use ‘$(vCyclicDim)’ as a calculated dimension on multiple charts that require a
cyclic group.

Q21. What is loop and reduce?


QlikView publisher uses the loop and reduce to create multiple documents based on your
reduce field. And then when end user access a particular document, based on section access he
will see what he is allowed to see.
Q22. Cals in QlikView
There are totally 4 CALS in Server
1) Named CAL - All documents and unlimited time
2) Session CAL - All documents and limited time
3) Document CAL - one document and unlimited time
4) Usage CAL - one document and limited time
Q23. Tokens in QlikSense
A user-based license grants a predefined number of access allocations that can be assigned to
unique and identified users. In Qlik Sense Enterprise, user-based licenses are either Professional
and Analyzer Users licenses, or User access passes allocated with a Token license.
Q24. Qlikview Services and its Functionality

Q25. Qlik Sense Services


Qlik Sense Repository Service (QRS)
Required by all Qlik Sense services to run and serve apps, and connects to the repository
database. The Qlik Sense Repository Service manages persistence, licensing, security, and
service configuration data. The QRS is needed by all other Qlik Sense services to run and serve
apps. In a multi-node site, one instance of the Qlik Sense Repository Service (QRS) runs on each
node, connecting it to the shared repository database.
Qlik Sense Proxy Service (QPS)
The Qlik Sense Proxy Service (QPS manages site authentication, session handling, and load
balancing.
On the central node in a multi-node site, you should have a dedicated Qlik Sense Proxy Service
(QPS) for the Qlik Management Console (QMC) and not for the hub.
Qlik Sense Scheduler Service (QSS)
The Qlik Sense Scheduler Service (QSS) manages the scheduled reloads of apps, as well as other
types of reload triggering based on task events. Depending on the type of deployment, the Qlik
Sense Scheduler Service runs as master, slave, or both on a node.
Qlik Sense Engine Service (QES)
The Qlik Sense Engine Service (QES) handles all application calculations and logic. In a multi-
node site, we recommend that you have a dedicated Qlik Sense Engine Service (QES) on the
central node that you use specifically for the Qlik Management Console (QMC) and not for the
hub.
Qlik Logging Service
The Qlik Sense services (proxy, scheduler, repository, and engine) transfer log messages to the
Qlik Logging Service. The Qlik Logging Service centralizes the logging by collecting all the
messages and inserting them into the PostgreSQL database.
Qlik Sense Printing Service (QPR)
This service manages export in Qlik Sense. In a multi-node site, one instance of the Qlik Sense
Printing Service (QPR) runs on each node. Export requests from clients are directed to the
printing services in the multi-node site using round robin load balancing. If the first export
request is load balanced to the QPR on node 1, the second export request is load balanced to
the QPR on node 2, and so on.
Qlik Sense Service Dispatcher (QSD)
This is a service controller used to launch and manage the following Qlik Sense services:

 Broker Service
 Data Profiling Service
 Hub Service
 Migration Service
 Web Extension Service
 Capability Service
 Converter Service
 On-demand App Service
 Hybrid Deployment Service (HDS)
 Hybrid Setup Console (HSC)
 App Distribution Service (ADS)
 Precedents Service
Manual start
If you need to start services manually, start them in the following order:
a. Qlik Sense Repository Database (QRD)
b. Qlik Sense logging service
c. Qlik Sense Service Dispatcher (QSD)
d. Qlik Sense Repository Service (QRS)
e. Qlik Sense Proxy Service (QPS), Qlik Sense Engine Service (QES), Qlik Sense Scheduler
Service (QSS), and Qlik Sense Printing Service (QPR) in no specific order
The start-up order is important. During start-up the QRS must be able to contact the Qlik
License Service, which is managed by the QSD. The other services are dependent on the QRS.
The QSD must therefore be running when the QRS is started.
Q26. P() and E() in Set Analysis
The following describes how to define a set of field values using a nested set definition.
In such cases, the element functions P() and E() must be used, representing the element set of
possible values and the excluded values of a field, respectively. Inside the brackets, it is possible
to specify one set expression and one field, for example P({1} Customer). These functions
cannot be used in other expressions:
Examples and results:

Examples Results
sum( {$<Customer = P({1<Product={‘Shoe’}>} Returns the sales for current selection, but
Customer)>} Sales ) only those customers that ever have bought
the product ‘Shoe’. The element function P( )
here returns a list of possible customers;
those that are implied by the selection ‘Shoe’
in the field Product.
sum({$<Customer = Same as above. If the field in the element
P({1<Product={‘Shoe’}>})>} Sales ) function is omitted, the function will return
the possible values of the field specified in
the outer assignment.
sum( {$<Customer = P({1<Product={‘Shoe’}>} Returns the sales for current selection, but
Supplier)>} Sales ) only those customers that ever have supplied
the product ‘Shoe’. The element function P( )
here returns a list of possible suppliers; those
that are implied by the selection ‘Shoe’ in the
field Product. The list of suppliers is then
used as a selection in the field Customer.
sum({$<Customer = Returns the sales for current selection, but
E({1<Product={‘Shoe’}>})>} Sales ) only those customers that never bought the
product ‘Shoe’. The element function E( )
here returns the list of excluded customers;
those that are excluded by the selection
‘Shoe’ in the field Product.

Q27. What is the difference between pivot and straight table.


Pivot Table: A pivot table is better at grouping: you can easily see which group a specific row
belongs to, and a group can have a subtotal. You can also display a pivot table like a cross table
(one or several horizontal dimensions). But when you sort a pivot table, you have to sort it first
according to the first dimension, then according to the next, etc. You cannot sort it any way you
want.
Straight Table : A straight table is better at sorting than a pivot table: you can sort it according
to any column. But it is not so good at grouping. Subtotals are not possible, for instance.
Q28. What is the difference between Qlik view servers and Qlik view publishers
Ans Qlik View Server : QlikView Server is a program that is installed on a physical server
(computer) with number of "CAL - Client Access Licences". These allow users to access QlikView
files stored on the server, over the internet.
Qlik View Publisher : QlikView Publisher is a program which allows you to maintain centralized
control of all your QlikView files and to schedule when and how they are reloaded and
distributed.
Q29. Circular loop & Synthetic keys and ways to avoid it
Circular Loop
If there are circular references ("loops") in a data structure, the tables are associated in such a
way that there is more than one path of associations between two fields.

This type of data structure should be avoided as much as possible, since it might lead to
ambiguities in the interpretation of data.

Qlik solves the problem of circular references by breaking the loop with a loosely coupled table.
When Qlik finds circular data structures while executing the load script, a warning dialog will be
shown, and one or more tables will be set as loosely coupled. Qlik will typically attempt to
loosen the longest table in the loop, as this is often a transaction table, which normally should
be the one to loosen. In the table viewer, loosely-coupled tables are indicated by the red dotted
links to other tables.

Synthetic Keys
When two or more internal tables have two or more fields in common, this implies a composite
key relationship. QlikView handles this by creating synthetic keys automatically. These keys are
anonymous fields that represent all occurring combinations of the composite key.
How to avoid

 Concatenating two tables together


 Renaming data fields
 Creating a link table
 Qualify, Unqualify

Q30. Information Density & Subset Ratio

Information density of the field, which indicates the percentage of rows that contain a non-null
value
Subset ratio, which shows the percentage of all distinct values for a field in the
table compared to all the distinct values for that field in the entire data model. It is
only relevant for key fields since they are present in multiple tables and do not all
share the same value.
Subset ratios can be used to easily spot problems in key field
associations.
For example, when the combined total of subset ratios for multiple
tables is 100 percent, this may indicate that there are no matching keys between
these tables.

Q31. Rank() in Qlik


“Rank() evaluates the rows of the chart in the expression, and for each row, displays the
relative position of the value of the dimension evaluated in the expression. When evaluating
the expression, the function compares the result with the result of the other rows containing
the current column segment and returns the ranking of the current row within the segment.
Examples of Rank Function
Q32. Aggr Vs Total
Aggr is a function than can be used to create advanced aggregations that must include
aggregation functions as expressions and allows you to nest these aggregations - hence the
name advance aggregation function. Aggr in itself is not an aggregation but it will need an
aggregation function to be used.
Total is a qualifier that prefixes the Set Expression and the Field within an aggregation function.
It is not a function in itself.
Aggr can be used to achieve the same effect as using the Total qualifier as you have
experienced. But in these cases one should not use the Aggr-function but the Total qualifier.
Aggr has uses that are impossible to get by using the Total qualifier in a "normal" aggregation
function. Specifically this is the nested aggregations.
Total will just enable dynamic grouping by expressions while aggr() creates a temp table within
the datamodel. Hence aggr() will have both dimensions and metrics within and occupies more
memory. TOTAL on the other hand will just work only the expression without creating the table
and consumes less memory.
Q33. Rangesum in Qlik
RangeSum() returns the sum of a range of values. All non-numeric values are treated as 0,
unlike the + operator.
It is used to calculate rolling total.
Syntax:
RangeSum(first_expr[, Expression])
Link: Example for Rangesum
Q33. Interval match
The IntervalMatch prefix is used to create a table matching discrete numeric values to one or
more numeric intervals, and optionally matching the values of one or several additional keys.
Syntax:
IntervalMatch (matchfield)(loadstatement | selectstatement )
IntervalMatch (matchfield, keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement |
selectstatement )
Link: Example for Interval Match

Q34. Crosstable in Qlik


The crosstable prefix is used to turn a cross table into a straight table, that is, a wide table with
many columns is turned into a tall table, with the column headings being placed into a single
attribute column.
Syntax:
crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )
Example:
Crosstable (Month, Sales, 2) LOAD * INLINE[
Person, Location, Jan, Feb, Mar
Bob, London, 100, 200, 300
Kate, New York, 400, 500, 600
];
Result:

Person, Location, Month, Sales


Bob, London, Jan, 100
Bob, London, Feb, 200
Bob, London, Mar, 300
Kate, New York, Jan, 400
Kate, New York, Feb, 500
Kate, New York, Mar, 600

You might also like