I'm not able to open Chandashok's qvw on my iPad so I don't know if this solution's already been presented...
To expand on Dennis's suggestion, one way to sort string values in a desired order is to preload the order in the script. QlikView stores each field in its own memory table and distinct values are concenated as they are loaded. In this example, you should load the day of the week in an inlne table at the top of your script then drop it at the end. Something like:
LOAD * INLINE [
DROP TABLE Weekdays;
Now, in your chart on the sort tab, promote Weekday to the top and check the box to sort by Load Order.
NOTE: The field name "Weekday" in the inline table must be EXACTLY the same as the field name from the main data load.
Hope this helps,
Create a weekday field using dual function like
Dual(WeekDayString, WeekDayNum) AS WeekDay
Use sort by Numeric value as ascending or descending whatever way you want.It will order the weekday day field based on the WeekDayNum order.
This should be before the other table with the week day field load.
Hope it helps