Ssas 期末百分比MDX

Ssas 期末百分比MDX,ssas,mdx,Ssas,Mdx,我是MDX的新手,我一直在努力解决这个问题,需要帮助 我有一个日期层次结构,我可以计算出最近一个加载季度的案例数,但我很难计算出百分比 我的问题是: Member [Measures].[Latest Available Full Quarter Percentage] As ( ClosingPeriod ( [Dates].[Quarter].[Quarter]

我是MDX的新手,我一直在努力解决这个问题,需要帮助

我有一个日期层次结构,我可以计算出最近一个加载季度的案例数,但我很难计算出百分比

我的问题是:

Member [Measures].[Latest Available Full Quarter Percentage]
As

        (
            ClosingPeriod
                    (
                        [Dates].[Quarter].[Quarter]
                        ,[Dates].[Quarter].DefaultMember
                    )
                    ,[Measures].[Count]
        )


Select 
[Measures].[Latest Available Full Quarter Percentage] On Columns
,[Things].[Category].Members On Rows
From [Stuff]
输出如下:

        Latest Available Full Quarter Percentage
All             73
Thing1          5
Thing2          12
Thing3          (null)
Thing4          1
Thing5          32
Thing6          9
Thing7          (null)
Thing8          13
Thing9          5
Thing10         6
我想做的是为每一行生成一个百分比,除数为73,输出结果如下:

    Latest Available Full Quarter Percentage
All         100%
Thing1      6.8%
Thing2      16.4%
Thing3      0%
Thing4      1.4%
Thing5      43.8%
Thing6      12.3%
Thing7      0%
Thing8      17.8%
Thing9      6.8%
Thing10     8.2%
我只是不知道如何使每一行的73个数字都是静态的,这样就可以进行百分比计算了

有人能帮我指出哪里出了问题吗

编辑:

我认为解决方案与此相同:

Member [Measures].[Latest Available Full Quarter Percentage]
As

        (
            ClosingPeriod
                    (
                    [Dates].[Quarter].[Quarter]
                    ,[Dates].[Quarter].DefaultMember
                )
                ,[Measures].[Count]
    )
/
    (
        ClosingPeriod
                (
                    [Dates].[Quarter].[Quarter]
                    ,[Dates].[Quarter].DefaultMember
                )
                ,[Measures].[Count]
    ).Parent

Select 
[Measures].[Latest Available Full Quarter Percentage] On Columns
,[Things].[Category].Members On Rows
From [Stuff]
这是行不通的,但我觉得是这样的

关键的一点是,计算需要在成员扩展时保持不变

编辑第2部分:

对于指定的维度,我们已经计算出了这一点,我们正在考虑:

Member [Measures].[Latest Available Full Quarter Percentage]
As
            (
                ClosingPeriod
                    (
                        [Dates].[Quarter].[Quarter]
                        ,[Dates].[Quarter].DefaultMember
                    )
            ,[Measures].[Distinct Count]                
            )
        /
        (
        [Complaints Category].[Category].[All]
        ,
            (
                ClosingPeriod
                    (
                        [Dates].[Quarter].[Quarter]
                        ,[Dates].[Quarter].DefaultMember
                    )
            ,[Measures].[Distinct Count]                
            )
        )
        ,Format_String = "Percent"

Select 
[Measures].[Latest Available Full Quarter Percentage] On Columns
,[Things].[Category].Members  On Rows
From [Stuff]
这给了我:

        Latest Available Full Quarter Percentage
All             100%
Thing1          6.85%
Thing2          16.44%
Thing3          (null)
Thing4          1.37%
Thing5          43.84%
Thing6          12.33%
Thing7          (null)
Thing8          17.81%
Thing9          6.85%
Thing10         8.22%
不过,下一个挑战是,让它在不同的维度上工作


在此期间,任何建议都会被欣然接受,我很可能会误解,但您可以在计算中使用运算符
/
或通过函数
DIVIDE

WITH
MEMBER [Measures].[cnt2] 
    (
       ClosingPeriod(
           [Dates].[Quarter].[Quarter]
          ,[Dates].[Quarter].DefaultMember
       )
       ,[Measures].[Count]
       ,[Things].[Category].[All] //<< added to this tuple to reference All member
     )
MEMBER [Measures].[cnt] AS
  COUNT([Things].[Category].Members)
MEMBER [Measures].[Latest Available Full Quarter Percentage] AS
  DIVIDE(
     (
       ClosingPeriod(
           [Dates].[Quarter].[Quarter]
          ,[Dates].[Quarter].DefaultMember
       )
       ,[Measures].[Count]
     )
   , [Measures].[cnt2] //<< changed to cnt2
  ), FORMAT_STRING="##.00%"
SELECT
  [Measures].[Latest Available Full Quarter Percentage] ON COLUMNS
 ,[Things].[Category].Members ON ROWS
FROM [Stuff];
与
成员[措施].[cnt2]
(
关闭期(
[日期][季度][季度]
,[日期][季度].DefaultMember
)
,[度量值][计数]

,[Things].[Category].[All]/我可能有点误解,但您可以在计算中使用运算符
/
或通过函数
进行正常除法:

WITH
MEMBER [Measures].[cnt2] 
    (
       ClosingPeriod(
           [Dates].[Quarter].[Quarter]
          ,[Dates].[Quarter].DefaultMember
       )
       ,[Measures].[Count]
       ,[Things].[Category].[All] //<< added to this tuple to reference All member
     )
MEMBER [Measures].[cnt] AS
  COUNT([Things].[Category].Members)
MEMBER [Measures].[Latest Available Full Quarter Percentage] AS
  DIVIDE(
     (
       ClosingPeriod(
           [Dates].[Quarter].[Quarter]
          ,[Dates].[Quarter].DefaultMember
       )
       ,[Measures].[Count]
     )
   , [Measures].[cnt2] //<< changed to cnt2
  ), FORMAT_STRING="##.00%"
SELECT
  [Measures].[Latest Available Full Quarter Percentage] ON COLUMNS
 ,[Things].[Category].Members ON ROWS
FROM [Stuff];
与
成员[措施].[cnt2]
(
关闭期(
[日期][季度][季度]
,[日期][季度].DefaultMember
)
,[度量值][计数]

,[Things].[Category].[All]//谢谢您的回复,我想动态计算73,我只是想不出要执行的语法this@toastboy73只是这里所有成员的计数
[Things].[Category].Members
?如果这样做很容易动态执行-我将进行修改。73是所有位置的数字,它是[事物][类别]的总和.members谢谢你的回答,我想动态计算73,但我不知道该怎么做this@toastboy73只是这里所有成员的计数
[Things].[Category].Members
?如果这样做很容易动态执行-我会修改。73是所有位置的数字,是[Things].[Category]的结果和。Members