то сделать, что бы при селекте из ABAP только части полей этой CDS (списком, без GROUP BY) остальные поля не участвовали в подзапросе? Хочу что бы движок сам выстраивал group by в зависимости от запрашиваемых полей.
На ум приходит только сделать что-нибудь типа этого https://blogs.sap.com/2018/03/18/create-an-analytical-model-based-on-abap-cds-views/
Это кубы данных, там помимо селекта ещё большой фрэймворк на фиори, который фактически строит сводные таблицы.
Самое близкое, что можно предложить для решения подобной задачи - CDS вовсе без аггрегации, а поверх неё класс, у который на основе динамического программирования аггрегирует данные в зависимости от того как заполнили importing параметры метода.
А почему не делать типа такого: если поля семантически связаны, на уровне CDs, например указать при вызове селекта из ABAP, поля например Select SAlesOrderItem from ... А когда надо атрибуты продукта или сам продукт, то селектить через path, типа select \_salesorderitem\_product-product. И если аннотация стоит на показатель SUM, то как раз и будет- груп бай каждый раз только по тем признакам, что в запросе..
Спасибо, но аннотация на показателе без нужного типа самой CDS к успеху не привела, похоже нужно в #CUBE минимум приводить
Ну приводи, это ж ничего не стоит;)
Ну это уже выстраиваете OLAP модели на CDS. Немного другое архитекторскую решение. Но в целом да, можно
Обсуждают сегодня