MDX动态设置滤波器测量仪
我是MDX新手。 我想在SSAS(SQL Server 2014)上创建一个动态集,该集过滤所有度量值 其中度量日期大于当前选定日期 对于动态集,这是否可行?如果不可能,还有哪些其他解决方案MDX动态设置滤波器测量仪,mdx,Mdx,我是MDX新手。 我想在SSAS(SQL Server 2014)上创建一个动态集,该集过滤所有度量值 其中度量日期大于当前选定日期 对于动态集,这是否可行?如果不可能,还有哪些其他解决方案 ID|Date |MeasureVal 1 |15.01.2014| 100 2 |16.01.2014| 150 3 |20.02.2014| 500 4 |21.02.2014| 150 因此,当用户选择此集合且日期过滤器为2014年1月16日时,应显示日期大于
ID|Date |MeasureVal
1 |15.01.2014| 100
2 |16.01.2014| 150
3 |20.02.2014| 500
4 |21.02.2014| 150
因此,当用户选择此集合且日期过滤器为2014年1月16日时,应显示日期大于2014年1月16日的退货措施。
从上面的示例中,它应该返回ID为3,4的度量值
这是我的尝试
CREATE DYNAMIC SET CURRENTCUBE.[MyTestSet]
AS
Filter (
[Production Time].[Time Hierarchy].[Date].AllMembers ,
( [Production Time].[Time Hierarchy].[Date].CurrentMember.member_caption > "Current selected Date?" )
;
也许是这个
CREATE DYNAMIC SET CURRENTCUBE.[MyTestSet]
AS Filter(
[Production Time].[Time Hierarchy].[Date].Members as dtSet,
dtSet.Item(
dtSet.CurrentOrdinal-1
).member_caption > "Current selected Date?"
);
但是我不认为成员\u caption
会返回一个数字,那么
将如何工作呢
通常,如果希望一组日期大于mdx
中的指定成员,则使用范围运算符,该运算符是冒号:
与冒号一侧的null
耦合。这里有两个例子:
WITH
SET [GreaterThanX] AS
{
[Production Time].[Time Hierarchy].[Date].[01 Jan 2014]
:
null
}
SET [LessThanX] AS
{
null
:
[Production Time].[Time Hierarchy].[Date].[01 Jan 2014]
}
SELECT
{} ON 0,
[GreaterThanX] ON 1
//[LessThanX] ON 1
FROM myCube;
试试上面的方法-第一个应该给出1月1日之后的所有日期,而第二个应该给出1月1日之前的所有日期。
注意:使用
:
运算符时,指定的成员(在本例中为[生产时间].[时间层次结构].[日期].[2014年1月1日]非常重要
存在于多维数据集中-如果不存在,则不会发生错误,但表达式的计算结果为null:null
,即将返回所有日期。请添加您尝试的mdx脚本您是否使用SSAS
和任何第三方工具,如Mondrian
?我使用的是SSAS,SQL Server 2014。没有第三方工具。作为前端,我们更喜欢Excel2010