Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Sorting issue

Hi

i have attached one sample file.

in that app, if i select any model the sorting order will get changed.

but the values are ok. i need to fix the sorting order.

i dont know how to fix this issue.

could anyone help me.

1 Solution

Accepted Solutions
ToniKautto
Employee
Employee

The sort order actually is accordingto your expression. However due to the Set Analysis in your first expression, you have created rows in the chart object that do not exist in the currently selected data set. These additional rows of data, also then have no logical relation to your sort expression and are therefore sorted first in the table since the expression returns NULL for them.

See the attached sample where I have added to table boxes to present the data in the current selection. Now you can see that the D values AAA, BBB and CCC do not exist in your current selection if you have selected Large.

Sorting by load order will work in this case since the ID datat happens to be loaded in identical order in both the tables. Consider the case where the load order is different in the two tables that share the key field (ID). QlikView will sort by load order, but from which table will it load the order? The answer is that it will load either order, but you will not be able to predict which of the tables QlikView will select.

A better and more persistant way to solve this is to set the sorting expression to also consider the entire data set, meaning all your data without any selections. You could possibly accomplish this by using Only() or Sum(). In the attached sample I have added both these as expressions in the table so that you also can see the out come of these expressions along with your original expressions. The key to get it to sort is then to limit the data set properly, in this case by getting all data with the {1}.

View solution in original post

5 Replies
Not applicable
Author

Hi,

Please find the attached sample.

You need to choose the sort by Load order.

Cheers.

ToniKautto
Employee
Employee

The sort order actually is accordingto your expression. However due to the Set Analysis in your first expression, you have created rows in the chart object that do not exist in the currently selected data set. These additional rows of data, also then have no logical relation to your sort expression and are therefore sorted first in the table since the expression returns NULL for them.

See the attached sample where I have added to table boxes to present the data in the current selection. Now you can see that the D values AAA, BBB and CCC do not exist in your current selection if you have selected Large.

Sorting by load order will work in this case since the ID datat happens to be loaded in identical order in both the tables. Consider the case where the load order is different in the two tables that share the key field (ID). QlikView will sort by load order, but from which table will it load the order? The answer is that it will load either order, but you will not be able to predict which of the tables QlikView will select.

A better and more persistant way to solve this is to set the sorting expression to also consider the entire data set, meaning all your data without any selections. You could possibly accomplish this by using Only() or Sum(). In the attached sample I have added both these as expressions in the table so that you also can see the out come of these expressions along with your original expressions. The key to get it to sort is then to limit the data set properly, in this case by getting all data with the {1}.

Not applicable
Author

Hi Toni,

Thank you very much for ur reply...

this is working well.

ToniKautto
Employee
Employee

Glad to hear your problem was resolved. Please mark the thread as answered.

SunilChauhan
Champion II
Champion II

try out this one also

please see the attached

Sunil Chauhan