大家好,
我想向大家展示如何在WEBI报告的正文中实现类似日历的过滤器,如下面的
这个示例是基于SAP BO 4.1 SP5构建的,云计算大数据,但是由于没有任何新特性的依赖性,我想它将在任何支持输入控制和对象链接的版本上工作。
这里的想法是构建一个交叉表,并使其成为链接到报表主体的输入控件。
首先,阿里大数据分析,我有一个日期对象,大数据是啥,[日期],来自一个日历表。
构建以下变量(所有变量
都是维度变量,明确标注尺寸时除外)
1–年=年([日期];
2–月=月([日期])
3–DayNumberOfWeek=DayNumberOfWeek([日期])
4–Weekday==If([日期]=1;"Mon";If([日期]=2;"Tue";If([日期]=3;"Wed";If([日期]=4;"Thu";If([日期]=5;"Fri";If([日期]=6;"Sat";"Sun";""])
5–Week=NumberOfWeek([日期])
6–Weekĩaux=If([周]>52;1;[周]+1)
7测量变量[日]=NumberOfDayInMonth([日期])
在报表上放置一个交叉表,设置它的结构如下:
在[月]上应用一个中断,现在设置它的属性如下
,隐藏[DayNumberofWeek]行(右击该行,选择hide->hide Dimension
对[Week\u aux]列重复此过程
将块(表)命名为Calendar(右击该表,大数据 学习,选择Format table->General)
我们将创建一个从该交叉表到报表上其他元素的元素链接。
为此,右击在选项卡上选择"链接"->"添加元素链接"
选择所有对象
单击"下一步"并输入日历作为输入控件的名称
在下一步中,您将在报表上定义受此输入控件影响的元素。勾选除日历之外的所有框
现在您有了一个可点击的日历来过滤您的报告。
此示例显示报告已经按年度和月份进行了过滤
我将展示如何创建一个可点击的列表来选择月份和年份。
问候,
Rogerio
因此如果您点击日期(1-31),它将根据单击的值(即3)过滤目标表?如果您单击Day(Mon-Sun),它将根据单击的值(即Tues)过滤目标表?只是确保我理解正确…
嗨托马斯,
准确。
另一种在报告上设置过滤器的方法。
问候,物联网水表,
罗格里奥,
嗨罗格里奥,
好主意。但我对此没有什么问题和建议。任何一个Week函数都会给出周数。
2)对于获取日名称,您可以直接使用webi函数=Left(DayName([日期]);3.
是否有任何理由从日数派生它?
3)您正在交叉表中使用月份名称并在其上排序。但默认情况下,月份名称将按日历顺序排序,如八月、四月等。我想你需要加上月份号,在上面排序并隐藏它。喜欢你为第几天所做的事。
顺便说一句,很好的帖子
嗨,迪维亚,
谢谢你的建议和评论!!!