Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services MDX按日期范围或测量条件筛选_Reporting Services_Mdx - Fatal编程技术网

Reporting services MDX按日期范围或测量条件筛选

Reporting services MDX按日期范围或测量条件筛选,reporting-services,mdx,Reporting Services,Mdx,我有一个MDX查询,它可以获取每辆车有多少已完成/预订/未预订的维护作业 SELECT NON EMPTY { [Measures].[Completed], [Measures].[Unbooked], [Measures].[Booked]} ON COLUMNS, NON EMPTY { ( [Job Code].[Code].[Code].ALLMEMBERS* [Vehicle].[Vehicle Number].[Vehicle Number].ALLMEMBERS* [Job

我有一个MDX查询,它可以获取每辆车有多少已完成/预订/未预订的维护作业

SELECT NON EMPTY { [Measures].[Completed], 
[Measures].[Unbooked],
[Measures].[Booked]} ON COLUMNS, 

NON EMPTY { (
[Job Code].[Code].[Code].ALLMEMBERS*
[Vehicle].[Vehicle Number].[Vehicle Number].ALLMEMBERS*
[Job Group Target Completion Date].[Date].[Date].ALLMEMBERS
) } ON ROWS 

FROM ( SELECT ( STRTOMEMBER(@FromDate, CONSTRAINED) : STRTOMEMBER(@ToDate, CONSTRAINED) )
FROM [Standard Reports - Depot Work Analysis])
其中@FromDate和@ToDate是我的[Job Group Target Completion Date]维度的成员。当作业共享作业代码和目标日期时,它们被分组为“作业组”


我如何扩展它,以便获得目标日期(现在)之间的所有作业组,或不是所有作业都已完成的所有作业组(即[Measures].[unboked]>0或[Measures].[Booked]>0),但目标是在给定日期范围之前完成。

我希望您需要以下内容:

With 
Member [Measures].[Targeted] as 
IIF(
    [Measures].[Unbooked] > 0
    and
    [Measures].[Booked] > 0
    and 
    [Measures].[Completed] > 0,
    1,
    Null
) 


Select 
Non Empty {
    [Measures].[Completed],
    [Measures].[Unbooked],
    [Measures].[Booked]
} on 0,
Non Empty {
    {
        [Job Code].[Code].[Code].AllMembers *
        [Vehicle].[Vehicle Number].[Vehicle Number].AllMembers *
        {StrToMember(@FromDate, CONSTRAINED):StrToMember(@ToDate, CONSTRAINED)}
    {
    +
    NonEmpty(
        {
            [Job Code].[Code].[Code].AllMembers *
            [Vehicle].[Vehicle Number].[Vehicle Number].AllMembers *
            {NULL:StrToMember(@FromDate, CONSTRAINED).Lag(1)}
        },
        [Measures].[Targeted]
    )
} on 1 

From [Standard Reports - Depot Work Analysis])

您如何知道“我们的目标是在给定的日期范围内完成”?似乎您必须使用两个集合的并集。我需要给定日期之间的[Job Group Target Completion Date],或者结束日期之前的[Job Group Target Completion Date].[Date]和[Measures].[Unboked]>0或[Measures].[Booked]>0这绝对是一个改进,问题是,如果工会第二方返回作业,我还需要返回具有相同作业代码和目标日期的任何结果,即使它们都已完成。我添加了[Measures].[completed]>0?这是你的意思吗?如果我误解了你,请与我分享这个问题。