2016-07-22 18 views
0

我在编辑Webi报告(使用SAP Business Objects BI4)。 我有我在其中显示此格式的日期一个表格的报告:Webi 4使用FormatDate错误排序行为

=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 

正如你可以在上面看到,似乎排序仅由“日”的价值和它做完全忽略了“月”和“年”。

我的对象在Universe中正确定义为“Date”。

,当我不使用格式的排序是做正确“DD-MMM-YYYY”,并保持销售日期的原始格式。

有什么建议吗? 谢谢!

回答

2

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

你有两个选择:

  1. 格式使用(自定义)日期格式(在格式化节当你有编辑模式下的文件)的日期。您需要使用RIA(Java applet)来定义您自己的自定义日期格式。或者,您可以使用其中一种可用格式。这不会改变数据类型,但只会改变表示,因此排序应该没问题。

Formatting

  • 如果你仍然想使用FormatDate选项,你可以在第二列中添加[Sales Date],用它来对数据进行排序,然后隐藏柱。
  • +0

    太谢谢你了!我认为你的第一个选择更适合要求,它的工作:) – salamey