【发布时间】:2015-09-04 14:32:23
【问题描述】:
我有一个 MDX 脚本,我的目标是能够获取日期的值,它可以是一天、一周、一个月、一个季度或一年,然后在层次结构上使用它。
WITH
MEMBER measures.suma AS
Sum
(
[Date Local].[year-quarter-month-week-day].Children
,IIF
(
(
[Measures].[Agent Time Logged in hh:mm:ss]
-
[Measures].[Activity Time Break]
-
[Measures].[Activity Time Meeting]
-
[Measures].[Activity Time Training]
)
/
26400 / 86400
> 1
,1
,
(
[Measures].[Agent Time Logged in hh:mm:ss]
-
[Measures].[Activity Time Break]
-
[Measures].[Activity Time Meeting]
-
[Measures].[Activity Time Training]
)
/
26400 / 86400
)
)
SELECT
{
measures.suma
,[Measures].[MyKeys]
,[Measures].[Agent Time Logged in hh:mm:ss]
,[Measures].[Activity Time Break]
,[Measures].[Activity Time Meeting]
,[Measures].[Activity Time Training]
,[Measures].[Activity time Lunch]
} ON 0
,NON EMPTY
[Agent].[login fullname].[login fullname] ON 1
FROM [HP TRANSACTIONAL]
WHERE
[Date Local].[Month].&[2015-08 August];-- DOESNT WORK
--[Date Local].[year-quarter-month-week-day].[Week].&[2015 Week 35] --IT WORKS
正如您在我的MDX script 中看到的那样,我想汇总代理的所有活动,客户可以选择任何过滤器,每天、每周、每月、每季度或每年。
当然,他们可以使用我的层次结构“[Date Local].[Month].&[2015-08 August]”,但我的客户使用EXCEL 创建报告,他们可以使用日期维度的任何属性。
所以我的目标是找到一种方法向我的mdx 脚本表明,如果客户端选择任何属性,应该能够获取当前成员并使用层次结构进行计算。
【问题讨论】:
-
我认为您需要更改
Sum函数中的第一个参数:[Date Local].[year-quarter-month-week-day].Children -
我不能,因为我需要使用这个层次结构才能每天求和。这里的问题是客户端可以使用我的暗淡日期的任何属性作为过滤器,我需要找到一种方法将属性发送到层次结构,然后求和。
-
我有一个简单的想法 - 但不确定它是否可行
-
嗨@whytheq,它不起作用。我给你更多的例子: LoginName|DATE|FTE bastien|06/08/2015|0.9542 bastien|25/08/2015|1 FTE = iif.... 它应该是 1,9542... 如您所见只是我每个用户有两行。但如果我执行你的查询,我得到 6,954242..
标签: mdx