Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QlikView:禁用列表框中的元素重组_Qlikview - Fatal编程技术网

QlikView:禁用列表框中的元素重组

QlikView:禁用列表框中的元素重组,qlikview,Qlikview,我有一个归档的“Day_NAM”(包含一周中的日期名称)和一个字段“Day_Order”(数字字段,给每天一个数字(星期一=1,星期二=2等),以便我可以对日期进行排序)。 我设法按照我想要的方式对列表框中的日期进行排序。但是,当我在列表框中进行选择时,日期会更改其在列表框中的位置。当用户做出选择时,必须做什么才能使列表框中的元素不改变位置 链接到QVW文件:在排序选项卡中,如果您有State=“Auto Ascending”,请尝试取消选中该选项并查看是否有帮助。 //Mike它不起作用的原因

我有一个归档的“Day_NAM”(包含一周中的日期名称)和一个字段“Day_Order”(数字字段,给每天一个数字(星期一=1,星期二=2等),以便我可以对日期进行排序)。 我设法按照我想要的方式对列表框中的日期进行排序。但是,当我在列表框中进行选择时,日期会更改其在列表框中的位置。当用户做出选择时,必须做什么才能使列表框中的元素不改变位置


链接到QVW文件:

排序选项卡中,如果您有State=“Auto Ascending”,请尝试取消选中该选项并查看是否有帮助。

//Mike

它不起作用的原因是,在初始化部分(脚本开头的变量集语句)中,您没有将日期名称定义为数据包含的日期名称

SET DayNames='Mo;Di;Mi;Do;Fr;Sa;So';
SET LongDayNames='Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag;Sonntag';
要使排序工作正常,您需要使这些值匹配。也就是说,该方法不能100%保证工作,因此您可以通过使用
dual()
函数强制它工作(或者如果您不想更改这些默认值,因为它看起来是针对您的区域设置的),该函数为字段中的值指定一个数字,但显示文本。基本上结合了你想做的两个步骤

您的捕获日将如下所示:

dual(CaptureDay, 
 If(CaptureDay = 'Monday', 1,
    If(CaptureDay = 'Tuesday', 2,
        If(CaptureDay = 'Wednesday', 3,
            If(CaptureDay = 'Thursday', 4,
                If(CaptureDay = 'Friday', 5,
                    If(CaptureDay = 'Saturday', 6,
                        If(CaptureDay = 'Sunday', 7, 8)
                    )
                )
            )
        )
    )
 )) as     CaptureDay,
然后,您的排序设置应如下所示:

dual(CaptureDay, 
 If(CaptureDay = 'Monday', 1,
    If(CaptureDay = 'Tuesday', 2,
        If(CaptureDay = 'Wednesday', 3,
            If(CaptureDay = 'Thursday', 4,
                If(CaptureDay = 'Friday', 5,
                    If(CaptureDay = 'Saturday', 6,
                        If(CaptureDay = 'Sunday', 7, 8)
                    )
                )
            )
        )
    )
 )) as     CaptureDay,

不幸的是,情况是一样的。还有其他建议吗?试着按总最小日顺序排序,而不考虑它的选择:在排序中选择:Expression=min({1}日顺序)。愚蠢的事情,如果选中此选项,请确保列表框的大小足以容纳列表中的所有项目,否则将覆盖自动升序选项,并始终将选定的选项移动到top@TheBudac:列表框足够大。我上传了QVW,可以在问题中找到链接。如果你能看一看,我将不胜感激。@mickeger:你也能看一看QVW吗?当我按照你的建议做时,当我点击它们时,元素不会改变位置。但是,星期一到星期天的顺序不正确。请用新文件替换旧文件,我会看看能找到什么