我有一个定义如下的变量:
=if(right(GetActiveSheetId(),4)='SH01',
or (right(GetActiveSheetId(),4)='SH02',
or (right(GetActiveSheetId(),4)='SH03',
or (right(GetActiveSheetId(),4)='SH04',
(right(GetActiveSheetId(),4), if(isnull(vPreviousSheetID),'SH01',vPreviousSheetID))
此变量用于存储Previous Sheet ID,它在Qlikview版本12.1上可以正常工作,但是在升级到12.4后,它不能正常工作,它可以存储'SH01'。请指导我如何解决此问题。
答案 0 :(得分:0)
我认为文本转义处理已更改。我尝试了这一点,当用作休假触发器时有效
=if(right(GetActiveSheetId(),4)='SH01'
or right(GetActiveSheetId(),4)='SH02'
or right(GetActiveSheetId(),4)='SH03'
or right(GetActiveSheetId(),4)='SH04',
right(GetActiveSheetId(),4),
if(isnull('$(vPreviousSheetID)'),'SH01','$(vPreviousSheetID)'))
我也为自己做了这个jsut,以使其更易于管理
在规则中定义一个变量
set vSheetList = "'SH01','SH02','SH03','SH04'";
,然后在每个工作表上使用它,而不是vPreviousSheetID的第一个定义:
=if(match(right(GetActiveSheetId(),4),$(vSheetList)), right(GetActiveSheetId(),4), if(isnull('$(vPreviousSheetID)'),'SH01','$(vPreviousSheetID)'))
然后,每次添加工作表时,只需要将新的工作表数字添加到列表中并将其粘贴到“离开”触发器上