我对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中进行排序???
答案 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订单的顺序相同。