Я создаю процедуру, которая может исследовать аналитическое представление с учетом одного измерения, одной меры и фильтра (пункт where)
drop procedure dynamicExploration;
create procedure dynamicExploration(in currentMeasure double, in filter_string
varchar(100), out dataSubset dataExplorationOutputType)
language sqlscript as
begin
dataSplitby = select CITY as ID, SUM(:currentMeasure) as SUM_MEASURE from
_SYS_BIC."package/analyticView" Group by CITY;
--dataSubset = APPLY_FILTER(:dataSplitby, :filter_string);
dataSubset = select * from :dataSplitBy;
end;
где dataSubset - это тип данных, определенный следующим образом:
drop type dataExplorationOutputType;
create type dataExplorationOutputType as table("ID" varchar(100), "SUM_MEASURE" double);
но я получаю эту ошибку, не могли бы вы проверить, что не так;
Could not execute 'create procedure dynamicExploration(in currentMeasure double, in
filter_string varchar(100), out ...' in 166 ms 8 µs .
SAP DBTech JDBC: [266] (at 200): inconsistent datatype: only numeric type is available
for aggregation function: line 4 col 36 (at pos 200)
Я также пытался определить currentMeasure как varchar, но все равно получаю ту же ошибку.
В конечном итоге я пытаюсь создать хранимую процедуру, которая может помочь другой процедуре выбрать подмножество данных на основе набора заданных параметров, определенных пользователем: измерения, меры и фильтров.
сбросить процедуру dynamicExploration;
create procedure dynamicExploration(in currentDimension varchar(100), in currentMeasure double, in filter_string
varchar(100), out dataSubset dataExplorationOutputType)
language sqlscript as
begin
dataSplitby = select :currentDimension as ID, SUM(:currentMeasure) as SUM_MEASURE from
_SYS_BIC."package/analyticView" Group by :currentDimension;
dataSubset = APPLY_FILTER(:dataSplitby, :filter_string);
--dataSubset = select * from :dataSplitBy;
end;
Я уже создал процедуру для выполнения такого рода динамического исследования на основе динамического SQL, функция, которая не рекомендуется. Я ищу лучшее решение / идею для такого рода динамического исследования аналитического представления (куба данных).
Благодарность