Как отфильтровать компонент таблицы по датам в диапазоне параметров в Pentaho CDE? - PullRequest
0 голосов
/ 26 января 2019

Я создаю панель мониторинга, которая включает в себя некоторые селекторы, компонент таблицы, и я должен добавить ввод даты или ввод диапазона дат (было бы еще лучше), чтобы отфильтровать данные в таблице.Однако я не могу понять, как передать параметры в запросе MDX - где и как я должен сравнивать дату из таблицы с двумя параметрами даты, которые поступают из выбора даты?Любая помощь будет оценена:)

Я использую Pentaho 8.2.

Вот что у меня есть:

WITH SET[~ROWS_Objects_Objects.object] AS { [Objects.object]. 
 [object_name].Members } SET[~ROWS_Date_last_Date_last.Date_last_iso] AS {  
 [Date_last.Date_last_iso].[day_date].Members } SET[~ROWS_Date_Date.Date_iso] AS {  
 [Date.Date_iso].[day_date].Members } SELECT NON EMPTY { [Measures]. 
 [sum_qtyprice], [Measures].[sum_qty] } ON COLUMNS, NON EMPTY  
 NonEmptyCrossJoin([~ROWS_Objects_Objects.object], NonEmptyCrossJoin(${  
 typeParameter }, NonEmptyCrossJoin([~ROWS_Date_Date.Date_iso],  
 NonEmptyCrossJoin([~ROWS_Date_last_Date_last.Date_last_iso], ${ companyParameter })))) 
ON ROWS  

1 Ответ

0 голосов
/ 26 января 2019

Существует несколько способов фильтрации по диапазону.Либо вы указываете диапазон в предложении where.В этом случае вы не увидите разбивки данных по дате.

Select [Measures].[Internet Sales Amount] on columns,
[Product].[Category].[Category] on rows 
from [Adventure Works]
where {[Date].[Date].&[20130101]:[Date].[Date].&[20130110]}

enter image description here

Или вы можете отфильтровать по оси строк или столбцов.Это покажет разбивку по дате

Select [Measures].[Internet Sales Amount] on columns,
({[Date].[Date].&[20130101]:[Date].[Date].&[20130110]},[Product].[Category].[Category] )
on rows 
from [Adventure Works]

enter image description here

...