Это два хорошо написанных вопроса - спасибо за это.
Для второго вопроса ответ довольно прямой: семантическое свойство полей в представлениях вычислений действительно простоиндикатор для инструмента переднего конца, чтобы "сделать правильную вещь" с этим.В основном он используется интерфейсными инструментами SAP и AFAIK, который не очень широко используется любым другим инструментом.
Что касается хранения данных на дату: это решение SAP ABAP idiosyncrasy , которое было принято вместо на протяжении многих десятилетий.Это позволяет SAP ABAP хранить информацию о дате / времени на любой поддерживаемой СУБД с гарантией возврата данных точно таким же образом с четко определенной семантикой.Типы данных ABAP называются DATS
и TIMS
и представляют информацию о дате / времени в символьном формате.
Если вы хотите включить фильтрацию по фактическим датам (или даже по иерархии информации о дате / времени), то инструменты SAP (например, SAC) поддерживают это «из коробки».В качестве альтернативы можно предоставить представление справки по значениям, которое выполняет специальное преобразование типов данных для выбора и преобразовать условие фильтра обратно в формат DATS
/ TIMS
.
Таким образом, усилия по преобразованию минимальны по сравнению с оставшейся обработкой запросов.
Что касается первого вопроса , я не уверен, что вижу здесь проблему.Сопоставление текстов с идентификаторами иерархии может быть выполнено с помощью простого текстового соединения (или обычного соединения).Ваша фильтрация может легко работать с представлением справки о значениях (опять же) на основе текстовой таблицы, которая представляет разделенные (каламбурные) строковые части конечному пользователю.Основываясь на выборе, объединение из текстовой таблицы в таблицу частей будет включать только выбранные записи.
Опять же, преобразование выполняется только один раз для меньшей таблицы (таблицы с меньшими словарями).).
Не существует строгого правила, согласно которому необходимо предварительно вычислять каждое преобразование данных в SAP HANA.Совсем наоборот верно.С помощью упомянутых специальных преобразований в представлениях вспомогательных значений вы можете избежать ненужного преобразования в больших таблицах без дополнительных предварительно вычисленных структур.
Другое замечание, которое я могу предложить, заключается в том, что, по моему опыту, онона самом деле не стоит окупать предварительно рассчитанные столбцы и индексы до того, как будет выявлена фактическая проблема с производительностью.
Однако стоит задуматься о том, когда, где и почему данные будут преобразованы и соответствующим образом спроектированы.