1

我正在使用 SAP Business Objects BI4 编辑 Webi 报告。

我有一个带有表格的报告,其中显示了格式如下的日期:

=FormatDate([Sales Date];"dd-MMM-yyyy")

最初,销售日期维度的格式为“mm/dd/yyyy”。

我想按这个格式化的日期维度按升序对表格进行排序,所以我只需选择我的表格 > 右键单击​​ > 选择排序,然后我选择 =FormatDate([Sales Date];"dd-MMM-yyyy") 升序命令。

我的问题是,排序行为不正确,结果如下:

Sales Date
----------
01-AUG-2006
----------
01-JUL-2010
----------
02-FEB-2006
----------
03-AUG-2005

正如您在上面看到的,似乎仅按“日”值进行排序,而完全忽略了“月”和“年”。

我的对象在宇宙中被正确定义为“日期”。

当我不使用格式“dd-MMM-yyyy”并保持销售日期的原始格式时,排序正确完成。

请问有什么建议吗?谢谢!

4

1 回答 1

3

的返回数据类型FormatDate是字符串。这就是为什么排序会乱序的原因,因为它将对字符串值而不是日期值进行排序。

你有两个选择:

  1. 使用(自定义)日期格式设置日期格式(当文档处于编辑模式时,在格式部分中)。您需要使用 RIA(Java 小程序)来定义您自己的自定义日期格式。或者,您可以使用其中一种可用的格式。这不会改变数据类型,只会改变表示,因此排序应该没问题。

格式化

  1. 如果您仍想使用该FormatDate选项,您可以[Sales Date]在第二列中添加,使用它对数据进行排序,然后隐藏该列。
于 2016-07-22T10:21:45.443 回答