>情况:
我的 QVW 中有一些工作表和两种备用选择状态:1. 标准(用于在报告中选择任意日期)2. 上一页修复(仅适用于仅显示前一天数据的工作表)
对于 1.)用户可以选择过滤器和 2.)这些字段由文档触发器(在打开的文档上)设置,并且不会为用户显示筛选器,因此他无法更改它们。
问题:
我有一份基于"前一天表"的报告。当我通过电子邮件将此报告分发为 PDF 时,似乎没有执行文档触发器。因此,"前一天"将无法正确设置。因此,当有人在 1 月 20 日打开文档时,日期设置为 1 月 19 日。如果他在 1 月 21 日没有打开它,那么 PDF 报告将在 1 月 19 日保留。
我已经看到,您可以在报告设置中选择以下选项之一:
- 当前选择
- 清除选择
- 书签
但似乎没有选择:"使用文档触发设置的任何内容"。
如何修复/解决此问题?
好的 - 我在 qlikview 中没有找到选项,但这是一个非常干净的解决方法。
- 使用
if(Date = today()-1, 1, 0)
向日历IsYesterday
添加字段 - 不要使用文档触发器设置
Day
、Month
、Year
字段,而是将IsYesterday
字段设置为 1 - 确保您至少运行了一次脚本
那么,PDF 报告分发是否执行触发器并不重要,因为过滤器保持不变。由于数据已重新加载,因此IsYesterday
过滤器会自动调整为正确的日期。
因为我的问题不仅对日期有效,所以这个答案不仅对日期有效。
基本上,诀窍是,使用一个字段,在其中以编程方式实现筛选条件并返回布尔值。然后选择该布尔值(手动或使用文档触发器)并保存 QVW。下次生成 PDF 报表时,将应用筛选器。