如果选择的不完整,MDX 选择上一季度
MDX choose previous quarter if selected one is not complete
我正在使用 MDX 在 SSRS 中创建参数列表,因此我只想列出已完成的季度。它的工作方式是我们有 "records" 在特定日期提交。如果提交的最后日期不等于季度结束日期,则将参数列表限制为最后一个季度。
最后一次提交是在 10 月,也就是第 3 季度,但由于 10 月不是本季度末,我们希望它显示第 2 季度之前的列表。这是我的下拉列表 MDX
WITH
MEMBER [Measures].[ParameterCaption] AS
[Date - Submitted].[Submitted Year-Quarter].CurrentMember.Member_Caption
MEMBER [Measures].[ParameterValue] AS
[Date - Discharge].[Submitted Year-Quarter].CurrentMember.UniqueName
MEMBER [Measures].[ParameterLevel] AS
[Date - Submitted].[Submitted Year-Quarter].CurrentMember.Level.Ordinal
SELECT
{
[Measures].[ParameterCaption]
,[Measures].[ParameterValue]
,[Measures].[ParameterLevel]
} ON COLUMNS
,NonEmpty
(
[Date - Submitted].[Submitted Year-Quarter].Children
,[Measures].[Records Count]
) ON ROWS
FROM [Records Cube]
WHERE
[Records].[Submission Status].&[Submitted];
关于我可以添加什么的任何想法,以便它可以检查它是否是本季度末,如果不是,就包括[提交的上一个年度季度
您已经创建了两个度量并检查它们是否非空:
WITH
Member [Measures].[MonthID] as
[Date - Submitted].[Submitted Year-Month].CurrentMember.Properties('Key')
Member [Measures].[MonthNumber] as
Right([Date - Submitted].[Submitted Year-Month].CurrentMember.Properties('Key'),2)
Member [Measures].[IsLastMonth] as
IIF(
[Measures].[MonthNumber] / 3 - cint([Measures].[MonthNumber] / 3) = 0
and [Measures].[Records Count],
1,
Null
)
SELECT
{
[Measures].[MonthID]
,[Measures].[MonthNumber]
,[Measures].[IsLastMonth]
} ON COLUMNS
,{
NULL:
Order(
NonEmpty(
[Date - Submitted].[Submitted Year-Month].[Month].Members,
[Measures].[IsLastMonth]
),
[Measures].[MonthID],
BDESC
).Item(0)
} ON ROWS
FROM [Records Cube]
WHERE
[Records].[Submission Status].&[Submitted];
我正在使用 MDX 在 SSRS 中创建参数列表,因此我只想列出已完成的季度。它的工作方式是我们有 "records" 在特定日期提交。如果提交的最后日期不等于季度结束日期,则将参数列表限制为最后一个季度。
最后一次提交是在 10 月,也就是第 3 季度,但由于 10 月不是本季度末,我们希望它显示第 2 季度之前的列表。这是我的下拉列表 MDX
WITH
MEMBER [Measures].[ParameterCaption] AS
[Date - Submitted].[Submitted Year-Quarter].CurrentMember.Member_Caption
MEMBER [Measures].[ParameterValue] AS
[Date - Discharge].[Submitted Year-Quarter].CurrentMember.UniqueName
MEMBER [Measures].[ParameterLevel] AS
[Date - Submitted].[Submitted Year-Quarter].CurrentMember.Level.Ordinal
SELECT
{
[Measures].[ParameterCaption]
,[Measures].[ParameterValue]
,[Measures].[ParameterLevel]
} ON COLUMNS
,NonEmpty
(
[Date - Submitted].[Submitted Year-Quarter].Children
,[Measures].[Records Count]
) ON ROWS
FROM [Records Cube]
WHERE
[Records].[Submission Status].&[Submitted];
关于我可以添加什么的任何想法,以便它可以检查它是否是本季度末,如果不是,就包括[提交的上一个年度季度
您已经创建了两个度量并检查它们是否非空:
WITH
Member [Measures].[MonthID] as
[Date - Submitted].[Submitted Year-Month].CurrentMember.Properties('Key')
Member [Measures].[MonthNumber] as
Right([Date - Submitted].[Submitted Year-Month].CurrentMember.Properties('Key'),2)
Member [Measures].[IsLastMonth] as
IIF(
[Measures].[MonthNumber] / 3 - cint([Measures].[MonthNumber] / 3) = 0
and [Measures].[Records Count],
1,
Null
)
SELECT
{
[Measures].[MonthID]
,[Measures].[MonthNumber]
,[Measures].[IsLastMonth]
} ON COLUMNS
,{
NULL:
Order(
NonEmpty(
[Date - Submitted].[Submitted Year-Month].[Month].Members,
[Measures].[IsLastMonth]
),
[Measures].[MonthID],
BDESC
).Item(0)
} ON ROWS
FROM [Records Cube]
WHERE
[Records].[Submission Status].&[Submitted];