Как отсортировать поля в режиме расчета без узла ранга
Есть ли способ сортировки полей в представлении вычислений. Мы можем сортировать поля в предварительном просмотре данных, но он ограничен 200 или некоторым количеством строк, но как применять логику сортировки только в представлении вычислений.
2 ответа
Предел предварительного просмотра 200 настраивается в HANA studio и связан с запросом SQL, который используется для отображения данных.
Вообще говоря, сортировка не фиксируется в представлениях расчета. Помните, что расчетные представления являются только частью уравнения - запрос SELECT, который читает представление, является другим. Поэтому сортировка, группировка и окончательная фильтрация и проекция всегда указываются в этом операторе SELECT.
В случае, если вам действительно необходимо предоставить предопределенный порядок сортировки, вы можете поместить свой SELECT против представления вычисления в представление SQL. Это, конечно, связано с недостатком, заключающимся в том, что представления SQL не представляются в виде информационных представлений, на что могут опираться средства отчетности. Кроме того, порядок сортировки в представлении SQL можно легко переопределить, указав другой порядок сортировки в операторе SELECT, который запрашивает его.
Как писал Ларс в своем ответе, таблицы и представления являются источником несортированных данных. Сортировка данных выполняется в операторе SELECT, который выполняется в представлении или таблице. Как правило, попытка сортировки данных с использованием ORDER BY в определении представления должна вызывать синтаксическую ошибку или предупреждающее сообщение. И нет гарантии, что данные будут обслуживаться в порядке, определенном в предложении ORDER BY, используемом в определении View.
Но то, что я испытываю с представлениями HANA DB, работает (!), Но не должно. Вот пример определения представления
create view my_city_list_view
as
select * from city order by city desc
;
И простой SELECT возвращает упорядоченные данные, которые я не могу понять
select * from my_city_list_view;