|
Обсуждение вопросов, связанных с Crystal Reports 2008, Crystal Reports Server, Crystal Xcelsius, BusinessObjects Enterprise, BusinessObjects Edge и другими продуктами Business Objects.
Тема "Как отсортировать записи (CR-10)?"
Автор:
radic
|
Дата: 02.04.2009 06:31 |
| Есть таблица на sql сервере, допустим в ней поля kol, sym в формате decimal(18,2) Делаю запрос с выборкой по заданному условию.... как мне в отчете что-бы отображалось не sym=33,50 или 1,00 а чтобы отображалсь 33,5 или 1 |
Ответить на сообщение » |
Автор:
afal
|
Дата: 14.05.2008 21:01 |
| Zzh пишет 14.05.2008 15:42: >afal пишет 14.05.2008 12:48: >>Спасибо, но моя функция построенная на TextNumber() не работает, выскакивает сообщение об ошибке: «A number, currency, amount, Boolean, date, time, date-time or string is expected here.». В моем случае, тип данных поля «string» - текстовое, совершенно не понятно, на что он ругается? >>К сожалению, я только начинаю осваивать Кристал Репортс и в иерархии компетентности пока не выше уровня «чайника», поэтому, если можно то подробнее, что такое «сортировка пузырьком». >> >А вы можете написать формулу, которую используете?
Вот формула: if TextNumber({tbAnimals.InvNum}) then toNumber({tbAnimals.InvNum}) else 0 Все то, что Вы предложили только с моим полем, которое нужно перевести в числовой формат. У меня там все только числа, как я писал в посте 1. |
Ответить на сообщение » |
Автор:
Zzh
|
Дата: 14.05.2008 15:42 |
| afal пишет 14.05.2008 12:48: >Спасибо, но моя функция построенная на TextNumber() не работает, выскакивает сообщение об ошибке: «A number, currency, amount, Boolean, date, time, date-time or string is expected here.». В моем случае, тип данных поля «string» - текстовое, совершенно не понятно, на что он ругается? >К сожалению, я только начинаю осваивать Кристал Репортс и в иерархии компетентности пока не выше уровня «чайника», поэтому, если можно то подробнее, что такое «сортировка пузырьком». > А вы можете написать формулу, которую используете? |
Ответить на сообщение » |
Автор:
afal
|
Дата: 14.05.2008 12:48 |
| Спасибо, но моя функция построенная на TextNumber() не работает, выскакивает сообщение об ошибке: «A number, currency, amount, Boolean, date, time, date-time or string is expected here.». В моем случае, тип данных поля «string» - текстовое, совершенно не понятно, на что он ругается? К сожалению, я только начинаю осваивать Кристал Репортс и в иерархии компетентности пока не выше уровня «чайника», поэтому, если можно то подробнее, что такое «сортировка пузырьком». |
Ответить на сообщение » |
Автор:
Zzh
|
Дата: 08.05.2008 11:25 |
| afal пишет 08.05.2008 11:08: > >>Попробуйте написать функцию сортировки, а потом использовать ее в record sort expert, вместо этого числового поля >> >>ps хотя странно, проверила у себя мастер сортировки на поле postal code(тоже текстовое, которое переведено в числовое), все работает >> > >А как создать формулу для сортировки? Какой алгоритм должен быть? Если можно, пожалуйста, напишите пример. >Может, я что-то не так делаю в определении сортировки? Хотя, вроде, все как в книгах. У меня последовательность действий такая: >Открываю “Sort Expert”; >В левом списке выбираю поле, по которому хочу отсортировать записи (при этом в правом списке у меня уже есть поле, по которому выполняется группировка) и добавляю, выбранное поле, в правый список. Поле, по которому выполняется группировка, оставляю выше добавленного для сортировки. >Sort Direction оставляю по умолчанию («по возрастанию») >Нажимаю ОК >Проверяю после этого повторным открытием “Sort Expert” – все на месте. >Ну собственно и все. Результата ни какого :((. >
Вот моя последовательность действий(без создания специальной функции сортировки) 1. Формула Index для текстового поля, которое нужно перевести в числовое if TextNumber({field}) then toNumber({fields}) else 0 TextNumber проверяет, все ли символы в строк являются цифрами 2. в Sort Expert выбираю Index в качестве поля сортировки(тоже под группой) В принципе это все.
Если это у Вас не работает, то попробуйте написать свою формулу сортировки для вашего поля. Например, сортировка пузырьком. |
Ответить на сообщение » |
Автор:
afal
|
Дата: 08.05.2008 11:08 |
| >Попробуйте написать функцию сортировки, а потом использовать ее в record sort expert, вместо этого числового поля > >ps хотя странно, проверила у себя мастер сортировки на поле postal code(тоже текстовое, которое переведено в числовое), все работает >
А как создать формулу для сортировки? Какой алгоритм должен быть? Если можно, пожалуйста, напишите пример. Может, я что-то не так делаю в определении сортировки? Хотя, вроде, все как в книгах. У меня последовательность действий такая: Открываю “Sort Expert”; В левом списке выбираю поле, по которому хочу отсортировать записи (при этом в правом списке у меня уже есть поле, по которому выполняется группировка) и добавляю, выбранное поле, в правый список. Поле, по которому выполняется группировка, оставляю выше добавленного для сортировки. Sort Direction оставляю по умолчанию («по возрастанию») Нажимаю ОК Проверяю после этого повторным открытием “Sort Expert” – все на месте. Ну собственно и все. Результата ни какого :((. |
Ответить на сообщение » |
Автор:
Zzh
|
Дата: 29.04.2008 10:03 |
| afal пишет 28.04.2008 11:24: >Есть набор записей в следующем порядке: >1 >4 >5 >6 >11 >1044 >18 >1803 >1862 >20 >2250 >250 >и т.д. >Поле это текстовое, и значения здесь показаны уже поля формулы, после изменения типа данных на числовой формулой «ToNumber ({tbAnimals.InvNum})», до этого значения были такие (пишу в строку): >001 004 005 006 011 1044 18 1803 1862 20 2250 250 … Простой сортировкой по возрастанию ни чего не получается не по текстовому полю, не по полю «Number», что можно сделать в этом случае, для расположения записей в естественном порядке возрастания чисел? >
Попробуйте написать функцию сортировки, а потом использовать ее в record sort expert, вместо этого числового поля
ps хотя странно, проверила у себя мастер сортировки на поле postal code(тоже текстовое, которое переведено в числовое), все работает |
Ответить на сообщение » |
Автор:
afal
|
Дата: 28.04.2008 11:24 |
| Есть набор записей в следующем порядке: 1 4 5 6 11 1044 18 1803 1862 20 2250 250 и т.д. Поле это текстовое, и значения здесь показаны уже поля формулы, после изменения типа данных на числовой формулой «ToNumber ({tbAnimals.InvNum})», до этого значения были такие (пишу в строку): 001 004 005 006 011 1044 18 1803 1862 20 2250 250 … Простой сортировкой по возрастанию ни чего не получается не по текстовому полю, не по полю «Number», что можно сделать в этом случае, для расположения записей в естественном порядке возрастания чисел? |
Ответить на сообщение » |
|