Добрый день.
Вопрос по бизнес анализу - есть задача в отчёте отобразить продажи и остатки алкоголя по точкам по каждому алкокоду. Такой отчёт есть, но в нём берётся только два алкокода из карточки (минимальное и максимальное значение).
Код формулы для поля "алкокод1" выглядит так:
select min(alccode) from SMEGAISARTICLES where article = {Поля задачи. 1. Карточка товара. Артикул}
Для второго соответственно max(alccode).
Но в карточке может быть и три и более алкокодов. Прописать в формулу отбор через row_number()
select
alccode
from (
select alccode, row_number() over (order by alccode) rn
from
SMEGAISARTICLES
where
SMEGAISARTICLES.article = {Поля задачи. 1. Карточка товара. Артикул}
)
where rn = 1 (где rn это номер алкокода)
т.к. в итоге выдаёт следующее в логе SmAnalyticsErrorLog:
SELECT (CRD.Article) as Field1,(CRD.Name) as Field2,(select
alccode
from (select alccode, row_number() over (order by alccode) rn
from
SMEGAISARTICLES
where
SMEGAISARTICLES.article = (CRD.Article) )
where
rn = 1) as Field12
ORA-00904: "CRD"."ARTICLE": недопустимый идентификатор
Т.е. в подзапросе не виден артикул. Как обойти это не могу разобраться. проверял запрос не через Супермаг - всё ок.
Кто нибудь рашал похожую задачу через БА?
(0,02Мб)