1

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

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

如何将函数months(@{selM}, @{selH} 的结果分配给一个名为@{selPeriod} 的新事件,该事件在每次LOV 更改时都会更新?

4

1 回答 1

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
于 2017-10-02T08:38:23.453 回答