Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements
Coming your way, the Qlik Data Revolution Virtual Summit. October 27-29. REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor III
Contributor III

URL Parameter not working using multiple words

Hey there!

I'm currently having an issue with a parameter on a URL. The values I'm using have multiple spaces and I have tried different formats but they dont work... I want to mention using short values without spaces work just fine.

That has made think there is a string limit or something that is not letting the selection happen as I'm expecting it to.

 

***Example***

Dim "Branch" Values = Branch Of The North, Branch Of The South

 

As I need to send the link to some people with some default selections (sheet + some other dim selections)I have tried using the below URLs on the browser but none have work... Do you know what might I be doing wrong ?

 

http://myserver//QvAJAXZfc/opendoc.htm?document=DocumentName.qvw&host=QVS%40qlikview&sheet=SH02&sele...

 

http://myserver//QvAJAXZfc/opendoc.htm?document=DocumentName.qvw&host=QVS%40qlikview&sheet=SH02&select=LB01,%22Branch%20Of%20The%20North%22

http://myserver//QvAJAXZfc/opendoc.htm?document=DocumentName.qvw&host=QVS%40qlikview&sheet=SH02&sele..."

 

http://myserver//QvAJAXZfc/opendoc.htm?document=DocumentName.qvw&host=QVS%40qlikview&sheet=SH02&sele...

 

So, basically when I open the link in the browser the document opens on the sheet SH02 but the selection is not made

1 Solution

Accepted Solutions
Highlighted
MVP & Luminary
MVP & Luminary

Since several years I don't use nearly nothing of the "smart" usability features anymore - just a few OnOpen actions which select a certain default state and a few dynamically charts (in which the user could control which dimensions/expressions are shown). No hiding/displaying objects and/or switching sheets and/or moving to other apps per buttons/variables or any dependencies to the selections or similar stuff.

I was never really happy with it because it required a lot of work (which goes easily in an exponential direction by the need to combine several simple logics instead of just multiplying those simple tasks) and the effect was also rather disappointing. For some user it worked well but the majority of them needed more explanation / guidance what is why happening, were rather confused and come faster to an answer if they could see and select everything directly.

Here a bit background to what is meant: Let-the-User-Select .

Why it didn't work with hidden objects is probably caused from the layer which the url called - just on the "visible" UI respectively on the available objects in the html. Hidden objects aren't there - only if the object-state is set to visible the object will be rendered and is then accessible. This means a url call goes only on the topmost layer of the application - any deeper layer like the direct selection of a field or setting/changing a variable-value and so on isn't possible.

What you could do to enable such url-call selections-logic is to add all needed listboxes - and make them as small as possible (reducing the font-size) and/or to choose a lower z-value (top-right area of the object-tab layout) as the other objects within the sheet. With it the listboxes are there but they will be covered through the other objects. 

- Marcus

View solution in original post

4 Replies
Highlighted
MVP & Luminary
MVP & Luminary

I just tried it in one of my apps and it worked even with values which have spaces and also by multiple ones. Therefore I think there is any small syntax issue within your final link and/or your values are different to what you think they are, for example there might be an extra leading/ending space or between your parts are two spaces or the space char isn't chr(32) else a different one.

- Marcus

Highlighted
Contributor III
Contributor III

Hey Marcus, thanks for testing and replying.

After spending some time testing I noticed it wont work if the listbox is initially hidden and the document is rendered for the first time in the browser. 

If the document/sheet gets opened and the user activates at least once the listbox*, then the URLs posted would work during his session. Not sure if thats how QlikView is supposed to work. What do you think about this ?

My workaround was to add a new visible listbox on another sheet. As my document is configured to "hide tabrows", the user wouldnt notice the new object.

 

* The listbox object shows up/hides if the user clicks on a textbox which has a trigger that changes a variable value which is used to control this behavior.

 

Summary:

- The syntax used would work fine with values which have spaces and many characters.

- Selecting a value on a hidden listbox through the URL method won't work if it's not activated at least once during the user session.

 

 

 

Highlighted
MVP & Luminary
MVP & Luminary

Since several years I don't use nearly nothing of the "smart" usability features anymore - just a few OnOpen actions which select a certain default state and a few dynamically charts (in which the user could control which dimensions/expressions are shown). No hiding/displaying objects and/or switching sheets and/or moving to other apps per buttons/variables or any dependencies to the selections or similar stuff.

I was never really happy with it because it required a lot of work (which goes easily in an exponential direction by the need to combine several simple logics instead of just multiplying those simple tasks) and the effect was also rather disappointing. For some user it worked well but the majority of them needed more explanation / guidance what is why happening, were rather confused and come faster to an answer if they could see and select everything directly.

Here a bit background to what is meant: Let-the-User-Select .

Why it didn't work with hidden objects is probably caused from the layer which the url called - just on the "visible" UI respectively on the available objects in the html. Hidden objects aren't there - only if the object-state is set to visible the object will be rendered and is then accessible. This means a url call goes only on the topmost layer of the application - any deeper layer like the direct selection of a field or setting/changing a variable-value and so on isn't possible.

What you could do to enable such url-call selections-logic is to add all needed listboxes - and make them as small as possible (reducing the font-size) and/or to choose a lower z-value (top-right area of the object-tab layout) as the other objects within the sheet. With it the listboxes are there but they will be covered through the other objects. 

- Marcus

View solution in original post

Highlighted
Contributor III
Contributor III

Hey Marcus! 

Yes, I do agree on keeping things simple but there are users/clients that just want their products the way they want it without taking into consideration any advice (Clients thing lol). So, the "Let-The-User-Select" would only apply for those who are smart enough and understand what they really can accomplish with the tool and its real business discovery power.

At the end, they are paying.  On this case, they just wanted to have more than 10 listboxes available on the sheet, but keeping the charts size as big as they want them. This made us create a hidden layer with the less used filters and let the user pop it up with a click on anytime they need them. I've seen this solution around for so long, and dont think it is that bad if the app UI is well designed (just as a web app). BTW... This is one of the things that hasnt let us switch to sense, because the user/client really likes it that way and as far as I know, thats not yet possible and dont think it is in the roadmap.

 

As per your solution, I didnt think about it before but yes it will be another workaround for this situation.

 

Thanks for taking some time to review this. I appreciate it a lot! And... any tip for what I just commented above, would be greatly accepted.

 

P.S. I´m marking yours as the solution 🙂  (others will have 2 workarounds available)