Crystal Report добавляет ведущие нули, но не отображается для сортировки вычисляемого поля в группе

У меня есть вычисляемое поле в Crystal Report, которое начинается с цифр и уже отсортировано как текст. Я хочу отсортировать это как числа. Вычисляемое поле состоит из двух числовых полей и текстового поля. Нравится:

{numberfield1} & "." & {numberfield2} & " " & {textfield}

В отчете представлены такие данные (уже отсортированные):

1.2 sometext  
10.3 sometext  
2.30 sometext  
2.4 sometext

Я хочу сначала отсортировать по {numberfield1}, а затем по {numberfield2} со следующим результатом:

1.2 sometext  
2.4 sometext  
2.30 sometext  
10.3 sometext

Я уже пробовал это:
http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=19668, поэтому мой код выглядит так:

totext({numberfield1},"00", 0) & "." &  
totext({numberfield2},"00",0) & " " &  
{textfield}

Насколько я понимаю, этот код должен скрывать ведущие нули. Но это не так. В отчете по-прежнему отображаются ведущие нули. По крайней мере, сортировка работает. Результат:

01.02 sometext  
02.04 sometext  
02.30 sometext  
10.30 sometext  

Я также пробовал:
cstr (val ({numberfield}))
totext (tonumber ({numberfield}))
Они удаляют начальные нули, но сортировка не работает.

Большое спасибо за уделенное время!


person Marshal Mappers    schedule 10.01.2019    source источник
comment
Вам нужны две формулы. Первый - с ведущими нулями - будет использоваться для сортировки. Второй - без начальных нулей - будет использоваться для отображения значений.   -  person heringer    schedule 10.01.2019
comment
Пока спасибо. Не могли бы вы подробнее рассказать или привести пример?   -  person Marshal Mappers    schedule 10.01.2019


Ответы (1)


Создайте первую формулу. Назовем его «TheOneThatYouSee»:

{numberfield1} & "." & {numberfield2} & " " & {textfield}
//i just copied your formula

Создайте вторую формулу. Назовем это «TheOneThatYouDoNotSee»:

totext({numberfield1},"00", 0) & "." &  
totext({numberfield2},"00",0) & " " &  
{textfield}
//i just copied your formula

Затем вы сортируете по TheOneThatYouDoNotSee (группировать по).

Затем вы помещаете TheOneThatYouSee в раздел деталей.

person heringer    schedule 10.01.2019