Sie sind auf Seite 1von 5

Explain Qlikview architechture Ans.

Qlikview deployments have three main infrastructure components: Qlikview De veloper, Qlikview Server (QVS) and Qlikview Publisher. Qlikview Developer is a Windows-based desktop tool that is used by designers and developers to create 1) a data extract and transformation model and 2) to create the graphical user interface (or presentation layer). Qlikview Server (QVS) handles the communication between clients and the Qlikview applications. It loads Qlikview applications into memory and calculates and pres ents user selections in real time. Qlikview Publisher loads data from different data sources (oledb/odbc, xml, and xls), reduces the Qlikview application and distributes to a QVS. Because Qlikview Server and Publisher have different roles and handle CPU and me mory differently it s considered a best practice to separate these two components on di fferent servers. What is Synthetic key and how to avoid it? Ans. It is undesirable to have multiple common keys across multiple tables in a Qlikview data structure. This may cause Qlikview to use complex keys (a.k.a. syn thetic keys) to generate the connections in the data structure. Synthetic keys a re generally resource heavy and may slow down calculations and, in extreme cases , overload an application. They also make a document harder to understand and ma intain. There are some cases where synthetic keys cannot be avoided (e.g. Interv al Match tables), but, in general, synthetic keys should always be eliminated, i f possible. 1. Comment the fields in load script 2. Rename the fields in load script 2 rename the fields using UNQUALIFY operator; Difference between keep and joins Ans. Left Keep and Left join gives the same output. The only difference is that Left Keep keeps the Table separate in Data Model, whereas Left join merges the Tables that are joined. Difference between simple table and pivot table Ans. Pivot table-1) a pivot table is better at grouping: you can easily see whic h group a specific row belongs to, and a group can have a subtotal. 2) You can also display a pivot table like a cross table (one or several horizon tal dimensions). 3) But when you sort a pivot table, you have to sort it first according to the f irst dimension, then according to the next, etc. You cannot sort it any way y ou want. Straight tableA straight table is better at sorting than a pivot table: you can sort it accord ing to any column. But it is not so good at grouping. Subtotals are not possible, for instance. Explanation In SQL, the "in" operator is commonly used to test if a value exists in a list o f values. For example: SELECT * FROM TABLE WHERE CODE IN ('a', 'b', 'f'); New QV developers often spend some time looking for QV's equivalent of the "in" operator. It's the match () function. LOAD * WHERE match (CODE, 'a', 'b', 'f'); The match() function, and its siblings "mismatch" and "wild match". Are document ed in the "Conditional Functions"

Mix match () works just like match () except it does a case insensitive comparis on. Wild match () is another form that can be particularly useful. Wild match () all ows (but does not require) the "?' and "*" wildcard characters in the match argu ments. Fuzzy search Fuzzy search is similar to standard search, with the exception that it compares and sorts all field values according to their degree of resemblance to the searc h string. Fuzzy search is especially useful in situations where misspelling is a n issue. It can also help you find multiple values that are nearly identical to each other. When a fuzzy search is made, a tilde ~ " -character is displayed in front of the search string. If starting a text search with a tilde " ~ -character, the text search window wil l be opened in fuzzy search mode. The search window will contain the tilde with the cursor placed after it. When typing, all values will be sorted by the degree of resemblance to the search string, with the best matches at the top of the li st. If Enter is pressed, the first value in the list will be selected. Wildcard Normal search: normal search aims to free the user from typing wildcard charac ters. Normal mode equates to searching for any string in the target that begins with the typed characters. So typing 'ba' in Normal mode actually executes a 'ba *' search. Further Normal Mode also OR's values separated by spaces. So typing ' ba ab' as your search string in Normal Mode is equivalent to 'ba* OR ab*'. Why t he change? Well in most search engines today you dont ask your users to use wild card characters, you just want them to search for what they know. Qlikview Alternate States Most businesses need comparative analysis to identify the state of the business. Qlikview Alternate States was introduced in version 11 to facilitate comparativ e analysis such as year-over-year sales comparison where users want to see how c urrent year sales compares to the previous year or current quarter compares to t he same quarter a year ago. You can perform similar comparison with set analysis syntax, but Qlikview Altern ate States comes handy when you need to make different selections using the same dimension. Or, you want comparison of two charts or tables using several dimens ions in the default state. You can detach an object such as a chart, so that obj ect will not respond to any user selections. In that sense, its behavior is simi lar to an object in an Alternate States. However, there is a subtle difference b etween Detach and Alternate States. All objects within a given state will respon d to user selection made in that particular state. On the same token, same objec ts won t respond to user selections made in the other state. Qlikview server and publisher The Qlikview server and publisher are bundled into one installation package wher e you enable the publisher functions with adding your publisher license. The Qlikview server (QVS) are used to be reload and present Qlikview data in a centralized way by ex. using the access point to list documents for the end user . The publisher parts are responsible for more complex tasks such as distributio ns of Qlikview documents (where the QVS can be a recipient).The QMC is the manag ement interface for where you can organize settings for the QVS and the publishe r as well as set up tasks etc. Qlikview access in Dual mode (DMS & NTFS) The NTFS and DMS is used majorly for controlling the security of the files(who should see which files) If NTFS the authorized users are added by right clicki ng the folder/file and go i to security and add the users name. In DMS the autho rized users are added in the user document tab(QMS) under authorization tab. ODBC provides access only to relational databases OLE DB provides the following features Access to data regardless of its format or location. Full access to ODBC data so urces and ODBC drivers

Mapping load and Apply Map Apply map () for many-to-many relations. The function demands that there is only one translation (mapped value) to the input value. But you can of course have s everal different input values that all are mapped to the same translation. When creating the mapping table, Qlikview will only pick up the first occurrenc e of an input value, thus ensuring that there is no ambiguity. Having clause in Qlikview Just use a preceding load for your HAVING conditions. So something like this: SELECT Customer, count(Order) as Orders, sum(Sales) as Sales FROM OrderTable WHERE OrderDate >= 20100101 GROUP BY Customer HAVING count(Order)>10 Would be written like this: LOAD * WHERE Orders > 10; // this is your "having" clause. LOAD Customer, count (Order) as Orders, sum (Sales) as Sales RESIDENT OrderTable WHERE OrderDate >= 20100101 GROUP BY Customer Interval Match function Interval Match is used to associate a single value to a range of values. this code and paste in your script reload it here to use interval match match it creates synchronization key i use the join concept to remove it have a look Test: LOAD * Inline [ from, to, area 1, 999, Delhi 1000, 2000, Nagaland 2021, 3455, Punjab ]; Data: LOAD * Inline [ Data, area 555, Delhi 100000, Orissa 1111, Nagaland 2040, Punjab 2045, Punjab ]; Left join (Data) Interval match (Data) LOAD from, to RESIDENT Test; Left join (Data) LOAD * resident Test; Drop table Test; How to avoid circular loops in the Qlikview Data model There are multiple ways to remove circular reference in Qlikview data model. 1. Use Data Island in Qlikview if a specific table is joined with multiple table and creating loop. For example date table is joined with multiple fact tables a nd creating loop then date table can be kept as date island and in expressions o f chart it can be used in if clause. This approach is good but should be used wh en there is no other approach works because as data grows the performance of app lication goes down as expression takes time to calculate values. 2. Create link table: In this approach we take out joining fields from multiple fact tables and put them in a link 1 ) build your data model by object and merge table by object. For example, if you have a shoes table and a tshirt table merge that in clothe

s table. 2) create specific keys between 2 tables. for example, TABLE 1 field 1 field 2 field 3 TABLE 2 field 2 field 3 TABLE 3 field 1 field 3 TABLE1 field 1 field 2 field 3 field2 & '-' & field3 as key2 field1 & '-' & field3 as key3 TABLE2 field2 & '-' & field3 as key2 TABLE3 field1 & '-' & field3 as key3 With that TABLE2 and TABLE3 will link with TABLE1 only. no loop FirstSortedValue() Imagine you have the following table: FieldA, FieldB A, 3 B, 4 C, 1 D, 2 If you run a FirstSortedValue(Field A, Field B) you'll get the first sorted val ue from Field A based on the sorting of Field B. Value 1 is the first value for Field B so the function will in this example return C. P () & E () and where do you use them? Use p() and e() function in a set analysis set modifier. Set Modifiers with implicit field value definitions In the above examples, all field values have been explicitly defined or defined through searches. There is however an additional way to define a set of field va lues by the use of 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 , e.g. P({1} Customer). These functions cannot be used in other expressions: Examples: Sum ( {$<Customer = P({1<Product={ Shoe }>} Customer)>} Sales ) returns the sales for current selection, but only those customers that ever have bought the product Shoe . The element function P( ) here returns a list of possibl e customers; those that are implied by the selection Shoe in the field Product. Sum ( {$<Customer = P({1<Product={ Shoe }>})>} Sales ) same as above. If the field in the element function is omitted, the function wil l return the possible values of the field specified in the outer assignment. Sum ( {$<Customer = P({1<Product={ Shoe }>} Supplier)>} Sales ) returns the sales for current selection, but only those customers that ever have

supplied the product Shoe . The element function P( ) here returns a list of possi ble 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 = E({1<Product={ Shoe }>})>} Sales ) returns the sales for current selection, but only those customers that never bou ght 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. What is the difference between Cyclic Group The selection scope for drilldown groups is a sequential hierarchy, predetermine d by developer hierarchy. In contrast cyclic groups can be selected in a random way. you can get the property for cyclic and drill down group....by going in the ....Document Property tab ->go to the group tab ->select what group you want ie drill or cyclic->go to the New->and select the dimension what you want. Qlikview Server & Publisher: Assign Named User CAL to Anonymous User? It s a license issue. Anonymous user can't be deployed with a Named CAL, only Sess ion or Usage CAL. What is a Named CAL? What is the difference between User Cal, Usage Cal and Sess ion Cal? There are four different types of CALs available:\ Named CAL (an identified user on a server) - Access is based on user identity a nd valid for all documents on the server, that is any number of concurrent sessi ons from one user on one machine at a time is allowed. Document CAL (an identified user within a given document) - Just as above, the a ccess is based on users identity, but the CAL is valid only for one document. If the same user connects to two documents using this licensing method, he will he nce consume two Document CALs. Session CAL - Each Session CAL allows one user on one computer to access Qlikvie w documents that is any number of concurrent sessions from one user on one machi ne at a time is allowed. Anonymous users are allowed, no identification of the c lient user is necessary. Usage CAL - Each Usage CAL gives the right to initiate one session (single docum ent) per running28-day period. The session may last a maximum of one hour. Any a ctivity after the first hour has expired will count as a new session (albeit wit hout visible interruption). No identification of the client user is necessary. Note! CALs are used for purposes of licensing only and they have nothing to do with user authentication for data access purposes. Licenses are assigned to user s, either NTFS (Windows Active Directory) or any other value directory (LDAP, No vell) when using DMS authorization (Enterprise Server, for example).