HANA中的ORDER BY与Excel

时间:2018-02-21 11:46:15

标签: excel sorting hana

我对SAP HANA中的查询结果存在排序问题,结果如下:

15-1367
15-1367-BOX
15-1367BO
15-1367BO-AU
15-1367BO-BOX

但Excel中的排序显示了这一点:

15-1367
15-1367BO
15-1367BO-AU
15-1367BO-BOX
15-1367-BOX

因此,对于ID 15-1367-BOX,在Excel中,破折号位于字母后面,而查询中的排序返回字母前的破折号。 如何使用与Excel中相同的排序规则在HANA中进行排序???

1 个答案:

答案 0 :(得分:2)

问题在于excel,因为这是由HANA正确排序的。 (无论是EBCIDIC还是ASCII' - '来自' B'。

下面要注意的关键是引用中的最后一段!

Excel有这种特质:

  

对包含字母数字字符的列进行排序时,排序   可能会返回意外结果。 Excel从左到右对值进行排序,   逐字逐句。例如,如果单元格包含文本   " A100," Excel将单元格放在包含该条目的单元格之后   " A1"在包含条目" A11。"

的单元格之前      

Excel按以下顺序对数据进行排序:

     

0 1 2 3 4 5 6 7 8 9(空间)! " #$%& ()* ,. / :; ? @ [\] ^ _   `{| }〜+< => A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

     

忽略撇号(')和连字符( - ),但有一个例外:If   两个文本字符串是相同的,除了连字符,文本与   连字符排在最后。

来源:microsoft

要解决这个问题,您可以创建一个辅助列,并用连字符代替(例如 - 您必须审核数据)'&' - 或从上面选择一个适当的角色,以达到HANA所做的相同的正确结果。然后在排序中包含辅助列。

<强>实施 在Excel列旁边创建一个列并使用以下公式:=SUBSTITUTE(G5,"-","&") (你选择一个你的数据没有的字符1非常重要,2)这反映在上面的引文中)

然后我选择两列,在HELPER列上排序! 现在,数据与HANA订单的顺序相同。

enter image description here