如何在icCube报告中设置基于其他参数的参数?

时间:2017-09-29 09:14:29

标签: iccube-reporting

我有一个服务器功能(MDX ++)月(值M,值H)。

icCube仪表板包含两个事件,附加到两个过滤器(LOV):@ {selM}和@ {selH}。

如何将函数月份的结果(@ {selM},@ {selH}分配给一个名为@ {selPeriod}的新事件,每当其中一个LOV发生变化时,该事件会更新?

1 个答案:

答案 0 :(得分:2)

这是可能的,这种事件可以由基于手动查询的cusom mdx过滤器生成。您可以在结果UI中以某种方式隐藏此过滤器,因为它仅在自动模式下使用。

Filter1 -> generates @{selM}
Filter2 -> generates @{selH}
Filter3 -> hidden, generates @{selPeriod}

对于Filter3,您需要将数据配置切换到MDX并发出以下请求:

WITH
MEMBER ic3Name AS months(@{selM}, @{selH})  // event caption(your function)
MEMBER ic3UName AS months(@{selM}, @{selH}) // event value(your function)
MEMBER ic3PName AS NULL
MEMBER ic3Measure AS 0
MEMBER ic3IsSelected AS true // true to throw the event automatically
MEMBER ic3FilterName as [Measures].[ic3Name]
MEMBER ic3Key as 0
SELECT
{[Measures].[ic3Name],[Measures].[ic3UName],[Measures].[ic3PName],[Measures].[ic3Measure],[Measures].[ic3IsSelected],[Measures].[ic3FilterName],[Measures].[ic3Key]} ON 0,
TopCount([Calendar].[Year], 1) on 1 // any non empty level, to have 1 row in the response
FROM [Sales] // any cube