0

我正在创建一个仪表板,其中包括一些选择器、表格组件,我应该添加日期输入或日期范围输入(会更好)来过滤表格中的数据。但是我不知道如何在 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  
4

1 回答 1

0

有几种方法可以根据范围进行过滤。您可以在 where 子句中提供范围。在这种情况下,您将看不到按日期划分的数据。

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

在此处输入图像描述

或者您可以在行或列轴中进行过滤。这将按日期显示分手

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

在此处输入图像描述

于 2019-01-26T16:35:22.207 回答