点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用WEBI 4.0创建一个报告变量,该变量基于两个现有度量来显示下一次出现的日期。
Measure1是日期时间值。 Measure2代表与日期时间关联的短代码。
我创建的第一个变量将Measure1显示为日期时间; 这是正确的。
我希望第二个变量是第一个变量之后的下一个datetime(Measure1),其中Measure2等于两个或三个代码之一。
我本以为这将遵循:
= Datetime>变量1,其中Measure2在('Code1','Code2)
但我似乎无法确定有效的公式。
任何指针将不胜感激!
我 担心我不能接受数据保护,我至少需要对其进行大量修改。
我什至会使用这样的变量进行正确的选择吗?还是应该以其他方式实现逻辑?
我认为您将无法通过单个Webi来实现这一目标 查询。 创建两个查询,并在第一个查询中放置等于A的过滤器,在第二个查询中等于Z的过滤器。
在date2列中,然后使用MIN()函数获取等于Z的日期。
p>
也许我可以在这里更好地概述数据结构。
我将查询一个表,并且只有两列与此查询相关:日期时间和短代码。
此刻,报告在第一个日期时间正确接收,所有这些都与一个简短的状态代码相关联。
接下来我需要为每个条目执行的操作是,在短代码与短列表中的代码匹配的情况下,选择下一个datetime值。 然后,我将这些时间戳之间的差异作为报告中的计算列进行计算。
因此,报告中每一行的逻辑是查找下一个符合" InList"子句中列出的状态代码的日期时间。
因此,如果您引用 下面的屏幕快照,该报告将已经拾取状态为A bu User的那些条目。 对于报告中这些行条目中的每个条目,我需要选择的第二个字段是状态Z的下一次出现。对于杰克,A状态为10:00,下一个Z状态为10: 09。 吉尔在10:01将为A,在10:02将为Z
我认为需要使用RANK函数是否正确? 在这里确定符合条件的下一条记录。 例如:
= Rank(([Datetime] Where([Status] InList(" Z"))); Top; [User])
因此,生成的报告将如下所示:
对此,任何指针/进一步的建议都将不胜感激……它正成为真正的头抓手! :-)
一周热门 更多>