SAP HANA Перечислите все материалы на 3-м уровне иерархии - PullRequest
1 голос
/ 11 апреля 2019

SAP HANA 1.0.

Графическое представление расчета.

Два вопроса:

Использование инструментов моделирования Hana:

1) Как написать представление графического вычисления, которое даст мне все материалы виерархия продуктов CN1003 и отображение текстового описания CN1003?

Я знаю, что могу использовать MARA.PRDHA, чтобы получить иерархию для материала, и T179T, чтобы получить текст для иерархии;но, похоже, мне нужно сгенерировать вычисляемый столбец, содержащий только первые 6 символов, а затем фильтр.но лучшие практики указывают на то, чтобы не фильтровать вычисляемый столбецТак каков правильный подход здесь?Есть ли таблица, к которой я могу присоединиться, которая нарушает иерархию?чтобы я мог фильтровать первые два сегмента 'CN' и '1003'?

Например: MARA

+-------+--------------+
| MATNR |    PRDHA     |
+-------+--------------+
| 12345 | CN1003       |
| 12346 | CN10034231   |
| 12347 | CN1003423112 |
| 12348 | CN1002       |
| 12349 | FK1003       |
+-------+--------------+

T179T

+--------------+----------+
|    PRODH     |  VTEXT   |
+--------------+----------+
| CN1003       | Widgets  |
| CN1002       | Magnets  |
| CN10034231   | Tall     |
| CN1003423112 | Red      |
| FK1003       | Minerals |
+--------------+----------+

Ожидаемые результаты:

+-------+---------+
| MATNR | VTEXT   |
+-------+---------+
| 12345 | Widgets |
| 12346 | Tall    |
| 12347 | Red     |
+-------+---------+

2) вГрафическое представление расчета: какова цель установки семантического типа поля varchar (8) на сегодняшний день?Я думал, что это приведет к тому, что поле «date» varchar (8) будет преобразовано в тип данных date, который будет использоваться Вселенной из представления «Расчет»;но, видимо, нет.Так что я должен использовать вычисляемый столбец, чтобы преобразовать эту дату без даты в фактический тип данных даты, и не против ли это лучших показателей, так как я снова фильтрую по вычисляемому столбцу?Так, как я могу получить мою строковую дату к дате, чтобы сделать это?Или я должен требовать, чтобы мои пользователи вводили строковую дату, которая кажется неправильным выбором пользовательского интерфейса в моей вселенной BI для отчетов.Почему Хана не хранит даты как даты!?

1 Ответ

1 голос
/ 12 апреля 2019

Это два хорошо написанных вопроса - спасибо за это.

Для второго вопроса ответ довольно прямой: семантическое свойство полей в представлениях вычислений действительно простоиндикатор для инструмента переднего конца, чтобы "сделать правильную вещь" с этим.В основном он используется интерфейсными инструментами SAP и AFAIK, который не очень широко используется любым другим инструментом.

Что касается хранения данных на дату: это решение SAP ABAP idiosyncrasy , которое было принято вместо на протяжении многих десятилетий.Это позволяет SAP ABAP хранить информацию о дате / времени на любой поддерживаемой СУБД с гарантией возврата данных точно таким же образом с четко определенной семантикой.Типы данных ABAP называются DATS и TIMS и представляют информацию о дате / времени в символьном формате.

Если вы хотите включить фильтрацию по фактическим датам (или даже по иерархии информации о дате / времени), то инструменты SAP (например, SAC) поддерживают это «из коробки».В качестве альтернативы можно предоставить представление справки по значениям, которое выполняет специальное преобразование типов данных для выбора и преобразовать условие фильтра обратно в формат DATS / TIMS.

Таким образом, усилия по преобразованию минимальны по сравнению с оставшейся обработкой запросов.

Что касается первого вопроса , я не уверен, что вижу здесь проблему.Сопоставление текстов с идентификаторами иерархии может быть выполнено с помощью простого текстового соединения (или обычного соединения).Ваша фильтрация может легко работать с представлением справки о значениях (опять же) на основе текстовой таблицы, которая представляет разделенные (каламбурные) строковые части конечному пользователю.Основываясь на выборе, объединение из текстовой таблицы в таблицу частей будет включать только выбранные записи.

Опять же, преобразование выполняется только один раз для меньшей таблицы (таблицы с меньшими словарями).).

Не существует строгого правила, согласно которому необходимо предварительно вычислять каждое преобразование данных в SAP HANA.Совсем наоборот верно.С помощью упомянутых специальных преобразований в представлениях вспомогательных значений вы можете избежать ненужного преобразования в больших таблицах без дополнительных предварительно вычисленных структур.

Другое замечание, которое я могу предложить, заключается в том, что, по моему опыту, онона самом деле не стоит окупать предварительно рассчитанные столбцы и индексы до того, как будет выявлена ​​фактическая проблема с производительностью.
Однако стоит задуматься о том, когда, где и почему данные будут преобразованы и соответствующим образом спроектированы.

...