Привет. Сегодня мой очередной день борьбы с отчетом OLAP с необязательным параметром. У меня проблема с запросом MDX. Я написал это так:
select
NON EMPTY {{[Measures].[VALUE]}} ON COLUMNS,
NON EMPTY {
IIF(ISEMPTY([CUSTOMER].[${param}]) //CHECKING IF PARAMETER IS EMPTY
,{[CUSTOMER].[COUNTRY].Members},
{[CUSTOMER].[${param}]}
)
}ON ROWS
from [TRANSACTIONS]
${param}
— мой необязательный параметр для [CUSTOMER].[COUNTRY]
. Я снял отметку с кнопки «Обязательно» для моего параметра, поэтому OLAP должен иметь все [VALUE]
после его выполнения без параметра. И есть проблема, потому что после запуска мой параметр OLAP рапорта, вероятно, хочет быть чем-то заполненным. Это дает мне ошибку.
Атрибут профиля «param» не существует.
Но я не хочу заполнять его атрибутом профиля. Я создал список значений и аналитический драйвер для своего параметра, который я использую для передачи возможных значений строковому параметру моего списка — ${param}
.
Есть ли возможность иметь отчет OLAP с необязательным параметром? Здесь есть мастер BI? Я был бы признателен за любую помощь.
Обновление: я сделал что-то подобное, я думаю, что этот синтаксис правильный (я проверял примеры SpagoBI)
WITH MEMBER [CUSTOMER].[SELECTED] AS ' Parameter("param") ' , SOLVE_ORDER = 2
MEMBER [CUSTOMER].[LEN] AS ' LEN(Parameter("param")) ', SOLVE_ORDER = 1
select
NON EMPTY {{[Measures].[VALUE]}} ON COLUMNS,
NON EMPTY {
IIF([CUSTOMER].[LEN]=0
,{[CUSTOMER].[COUNTRY].Members},
{[CUSTOMER].[CUSTOMER].[SELECTED]}
)
}ON ROWS
from [TRANSACTIONS]
Но теперь у меня такая же ошибка для обоих параметров (установленных/неустановленных)
javax.servlet.jsp.JspException: org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: com.tonbeller.jpivot.olap.model.OlapException: 1
Любые идеи? Спасибо :)
${param}
в запросе MDX. Я могу передать параметр моему mdx. Если я проверю, что параметр является обязательным, OLAP работает нормально, но мне нужен необязательный параметр. Если флажок снят, отчет должен содержать все данные. - person LucasPG   schedule 19.08.2016