QlikTip #29: Restarting/Stopping/Starting services in QlikView 10

Just a short update related to the previously posted article “Restarting/Stopping/Starting services in QlikView” for version 10 of QlikView because some of the windows-services have changed in QlikView 10.

Just save copy these commands to the command-line or create a .bat-file with the contents of the following two code-blocks.

Starting the windows-services:

@echo off
REM -------------------------------------------------------
REM - File: QlikViewServer10_Start.bat
REM - Description: Start all QlikView related services (v10)
REM -------------------------------------------------------
echo Start QlikView Services
echo ======================================================

net start "Qlikview Directory Service Connector"
net start "QlikView Distribution Service"
net start "QlikView Management Service"
net start "QlikView Server"
net start "QlikView WebServer"

echo ======================================================
echo All QlikView related services have been started ...

pause

Stopping the windows-services:

@echo off
REM -------------------------------------------------------
REM - File: QlikViewServer10_Stop.bat
REM - Description: Stop all QlikView related services (v10)
REM -------------------------------------------------------
echo Stop QlikView Services
echo ======================================================

net stop "QlikView Server"
net stop "Qlikview Directory Service Connector"
net stop "QlikView Distribution Service"
net stop "QlikView Management Service"
net stop "QlikView WebServer"

echo ======================================================
echo All QlikView related services have been stopped ...

pause
Bookmark and Share

Tags: , , , , ,

So I’m back …

I haven’t written to this blog for almost three months now.

Two big changes has happened in my life in the meantime:

  • I have become a daddy
  • I have changed my profession

Talking about being a father now would be nice but does not really fit into the topics of this blog. But talking about my new job really does!
I am proud to announce that I have joined QlikTech as an employee in Nov 2010. I am working now as a PreSales Consultant at QlikTech. This brings me to the most important point related to this blog:

I can now concentrate on Business Intelligence and QlikView by 100%. Doing so I will definitely continue to write articles on qlikblog.at. But in comparison to the past I will try to broaden the topics I write about a little bit.

My personal goal is to write about QlikView and related technologies/concepts which are often used when working on Business Intelligence projects with QlikView.

So at the moment I have the following topic map in my mind:

  • QlikView, QlikView, QlikView
  • QlikView Publisher/Server
  • Publishing more tools for the daily work with QlikView like the “Nested if-generator tool”, which is used by visitors of qlikblog.at more than 100-times used a day (!!!!)
  • QlikView APIs
  • Related web technologies (At least since introduction of extension in QV know-how of web-related technologies become more and more important for QV-developers!)
  • QlikView related scripting- and programming-languages (like SQL, VBScript, JavaScript, C#)
  • Operating systems both on client and server side

So stay tuned and subscribe to the RSS-feed or just drop me some lines which article you would like to read here as soon as possible!

Regards
Stefan

Bookmark and Share

QlikTip #28: Configuring “Associative Search” in QlikView 10

In QlikTip#26 I announced to write some details on how to configure “Associative Search” in QlikView 10.

First of all I’d like to bring the following article on “Associative Search” to your attention which has been posted in the new QlikView 10 WIKI section on community.qlikview.com.

An excerpt of the most important part of this article:

  1. Search mode for any list box can be tailored to one of the following:
    1. Wildcard Search (was default behavior in previous versions)
    2. Normal
    3. Fuzzy (as version 9)
    4. Associative – ability to search this list box based on values in associated data elements
  2. The standard search mode has dropped the default ‘*’ (wildcard) to frame the search string. This means a user can now simply type the words or phrases of interest. Words separated by a space are searched using a logical OR, meaning they can appear in any order in the target value. Phrases can be searched by framing the phrase in “”, forcing QlikView to find an exact string match. This brings QlikView in line with most commonly accepted search engine functionality.
  3. Associative Search can be further configured so that you can limit Search to:
    1. All fields associated with the target
    2. A list of fields (built by an expression)
    3. Manually selected list of fields

So let’s now concentrate on configuring the “Associative Search”:

How to configure “Associative Search” in detail:

First go to the properties of one of your list boxes:

List Box properties to change the "Default Search Mode" to "Use Associative Search"

After doing so “Associative Search” is active for this list box.

Per default the associative search would search within all fields of your document. But you can change this behavior by going to More Search Settings:

Opening the search settings for the associative search

More Search Settings for Associative Search

Besides enabling associative search in all fields in your document there are the following options available:

Enabling associative search for a “List of fields”

You can define a list of fields built with an expression. The fields should be separated with commas (Note: this is so far not documented in the reference manual, but it works … :-) ).
Example:

// The following expression would define Field1 & Field2 & Field3 if there is only one value for "Year" available, otherwiese just Field1
=if(getPossibleCount(Year) = 1, 'Field1,Field2,Field3', 'Field1')

Sorry: While writing this article I could not find a really sensefull business case for defining the fields using an expression; but I’m sure you’ll find one :-)

Enabling associative search for “Selected Fields”:

You will be shown the following dialog where you can define the desired fields:

Selecting some fields to be included in the associative search.

Bookmark and Share

Tags: ,

QlikTip #9: Deleting variables via user-interface, within the load-script or by using macros (translated)

There are three different options for deleting variables in QlikView:

  • Deleting using the “Variable Overview”
  • Deleting within the load-script
  • Deleting using macros

Option 1: Deleting using the “Variable Overview”

For deleting a variable using the “Variable Overview” within the windows client just follow the steps below:

  1. Call the “Variable Overview” dialog (Menu => Settings => Variable Overview or Ctrl + Alt + V)
  2. then select the variable you would like to delete
  3. and press the button Delete

Delete a variable from the user interface

So far so good and not new to you, but how can we delete a variable within a load-script?

Option 2: Deleting within the load-script

Variables can be deleted/removed within a load-script as follows:

// the name of the variable is vVariable
// first option for deleting variables within the load-script
SET vVariable = ;

//second option for deleting variables within the load-script
LET vVariable = null();

Note: these two options do only work under the following conditions:

  • A variable must not “survive” a load-script (exist after a load-script has finished)
  • the two possibilities shown above do only work for variables which have been first created within the current load-script.
  • If a variables has once “survived” a script-load, you have to use again option 1 (Variable Overview) to delete a variable

Option 3: Deleting a variable using a macro

Last but not least it should be mentioned that you can also delete variable using macros.

ActiveDocument.RemoveVariable "vTestVariable1"

Note: It is not necessary to check whether the variable exists or not when calling ActiveDocument.RemoveVariable
If the variable does not exist, the function RemoveVariable does not throw an error.

This article is the translated version of the originally posted german article QlikTip #9: Löschen von Variablen.

Bookmark and Share

Tags: , ,

QlikTip #27: Introducing “Associative Search” in QlikView 10

With QlikView 10 a very powerful new feature has been added: “Associative Search“.

This feature gives the end user the possibility to search for values in a listbox considering associated data to get the desired results.

For example:
Instead of directly selecting/searching for the company named “YXZ Company” within the “Company”-listbox, you can enter the search-expression “Europe” and “Vienna” and you’ll get all “XYZ Company” if this company is associated with the region “Europe” and the city “Vienna”.

I highly recommend to spend 58 seconds to watch the following video which has been published 3 days ago:

YouTube Preview Image

Stay tuned, in QlikTip #28 I will tell you more about how to use the feature “Associated Search” as a developer or application designer.

Bookmark and Share

Tags: , , ,

QlikView 10 is generally available

Nice news: QlikView 10 is generally available …

Check the official page at http://www.qlikview.com/us/landing/qv10

Availability: QlikView 10 can be viewed in action at http://demo.qlikview.com and will be available for free download shortly at http://www.qlikview.com/download

So it is time to publish a lot of new articles about QlikView 10 :-)

I have tested QlikView 10 quite intensively in the last months, so feel free to send me your questions related to new features and functionality in QlikView 10!!!

Bookmark and Share

Tags:

QlikTip #26: Introducing Linked Objects in QlikView 10

In QlikView 10 a new (very, very nice) functionality will be added: Linked Objects

Instead of copying some objects to other sheets and having to change the properties of these objects independently you can link some objects together and change these properties only once.

All changes will be automatically shared with all other linked objects.
Linked Objects in QlikView do not follow a master/sleeve concept, so there is no master-object and other sleeve-objects which inherit their properties from the master-object.
Instead the linked objects are having equal rights and share properties like described in the reference manual of QlikView 10:

When two or more objects are linked they share all properties with the exception of size, position and display state (minimized, normal, maximized).
When you change the properties of one object the change is immediately reflected in the other linked objects. Linked objects may reside on the same sheet or on different sheets.

How to create a linked object:

There are two different approaches creating a linked object:

“Classic” way:

Use the context menu of an object and select Copy to Clipboard => Object or go to Menu => Object and Copy to Clipboard and Object; both can also be achieved with the shortcut Ctrl+C
Then use the command Menu => Object => Paste Sheet Object as Link

Drag’n’Drop:

Drag an object onto another sheet while pressing Ctrl+Shift, then the following icon will appear indicating that the object will be placed on the desired sheet as a linked object:

Icon shown during drag'n'drop and pressing Ctrl+Shift

How to change (shared) properties of linked objects:

As written in the reference manual:

If you are making any changes on the shared properties, these changes will be automatically and immediately reflected in other linked objects.

So there is nothing special to do. You just have to remember, that size, position and display state are not shared automatically.

How to change (unshared) properties of linked objects:

If you are making some changes to the unshared properties (size, position and display state) you have to synchronize theses settings to all other objects manually. But also this is quite easy:

Adjust the position of linked objects via context menu

Use the context menu of the object from where all other linked objects should inherit the size, position and display state and use the command Adjust Position of Linked Objects.

Deleting objects:

If you are deleting a linked object you will get the following message:

Message shown when trying to delete a linked object

So you can decide whether to delete only the selected object or all linked objects.

How to unlink linked objects:

Unlinking an object is easy:
Just use the context-menu of the object and go to Linked Objects => Unlink This object

Unlink the selected object via context menu

Some remarks on the linked objects’ IDs:

Linked objects share the same object ID. If an object will be unlinked a new object ID will be assigned to the unlinked object.

Linked objects in real life:

I personally like the approach of creating a sheet which is my template and where I design the structure of the interface placing all objects there which should also be visible on other sheets.
When creating a new sheet, I just copy all objects on my template-sheet and paste them as linked objects on the newly created sheet:

Template sheet with some objects to be linked on other sheets

When making changes I just have to go on the template sheet, making the changes there and they will be automatically made on all other linked objects:

An application using a lot of linked objects

If I have to make changes regarding position and size of the objects I am also doing this on the template sheet and then I am using the Adjust Position of Linked Objects functionality (as described above).
In production environment I just hide the “Source Objects” sheet with a “Show Sheet condition”.

For me this is the perfect solution which really meets my requirements.

Impact on existing applications and macros:

Good news! Since the linked objects share the same object ID there is no impact on existing applications and macros!

Conclusion:

Give Linked Objects a try! They will make your life as application designer in QlikView much easier!
I really, really like this feature :-)

What do you think?

Bookmark and Share

Tags: , , ,