日期小于现在的MDX
下面是我的代码日期小于现在的MDX,mdx,cube,Mdx,Cube,下面是我的代码 SELECT { [Measures].[ACPPurchaseValue] } ON COLUMNS ,( [Date].[YYYYMMDD].[YYYYMMDD] ) ON ROWS FROM [Kahuna] WHERE ( [Reporting Currency].[reportingCurrency].&[1] ,strToSet(@MdxBOSP) ,strToSet(@MdxVIPType)
SELECT
{
[Measures].[ACPPurchaseValue]
} ON COLUMNS
,(
[Date].[YYYYMMDD].[YYYYMMDD]
) ON ROWS
FROM [Kahuna]
WHERE
(
[Reporting Currency].[reportingCurrency].&[1]
,strToSet(@MdxBOSP)
,strToSet(@MdxVIPType)
,strToSet(@MdxHost)
,strToSet(@MdxOperatorName)
);
我如何说出[Date].[yyyyymmdd].[yyyyymmdd]
AdvWrks
dimensionDate
相反:
WITH
MEMBER [Measures].[Key for Today] AS
Format
(
Now()
,'yyyyMMdd'
)
MEMBER [Measures].[Today string] AS
'[Date].[Calendar].[Date].&[' + [Measures].[Key for Today] + ']'
SET [Today] AS
StrToMember
(
[Measures].[Today string]
,constrained
)
...
因此,根据您的情况:
WITH
MEMBER [Measures].[Key for Today] AS
Format
(
Now()
,'yyyyMMdd'
)
MEMBER [Measures].[Today string] AS
'[Date].[YYYYMMDD].[YYYYMMDD].&[' + [Measures].[Key for Today] + ']'
SET [Today] AS
StrToMember
(
[Measures].[Today string]
,constrained
)
SELECT
[Measures].[ACPPurchaseValue] ON 0
,{null:[Today].item(0).item(0)} ON 1
FROM [Kahuna]
WHERE
(
[Reporting Currency].[reportingCurrency].&[1]
,strToSet(@MdxBOSP)
,strToSet(@MdxVIPType)
,strToSet(@MdxHost)
,strToSet(@MdxOperatorName)
);
另外两个更好的解决方案可以简化每个人的生活:
[Today]
的自定义集和一个名为Today的计算成员作为Date的All成员的子成员您首先需要创建一个成员或单个成员集,该成员集对应于今天 以下内容看起来有点复杂,但实际上是Tomislav Piasevoli提出的一种相当标准的方法,它与
AdvWrks
dimensionDate
相反:
WITH
MEMBER [Measures].[Key for Today] AS
Format
(
Now()
,'yyyyMMdd'
)
MEMBER [Measures].[Today string] AS
'[Date].[Calendar].[Date].&[' + [Measures].[Key for Today] + ']'
SET [Today] AS
StrToMember
(
[Measures].[Today string]
,constrained
)
...
因此,根据您的情况:
WITH
MEMBER [Measures].[Key for Today] AS
Format
(
Now()
,'yyyyMMdd'
)
MEMBER [Measures].[Today string] AS
'[Date].[YYYYMMDD].[YYYYMMDD].&[' + [Measures].[Key for Today] + ']'
SET [Today] AS
StrToMember
(
[Measures].[Today string]
,constrained
)
SELECT
[Measures].[ACPPurchaseValue] ON 0
,{null:[Today].item(0).item(0)} ON 1
FROM [Kahuna]
WHERE
(
[Reporting Currency].[reportingCurrency].&[1]
,strToSet(@MdxBOSP)
,strToSet(@MdxVIPType)
,strToSet(@MdxHost)
,strToSet(@MdxOperatorName)
);
另外两个更好的解决方案可以简化每个人的生活:
[Today]
的自定义集和一个名为Today的计算成员作为Date的All成员的子成员您不能这样说:
[Date].[yyyyymmdd].[yyyyymmdd]
…在的两边有不同的类型您不能这样说:[Date].[yyyyymmdd].[yyyyyymmdd]
…你在的两边都有不同的类型,如果你只是在日期维度中添加一个isplastDate标志作为新属性,将会更加简单和高效。Cheers@GregGalloway:我玩的立方体没有未来的日期。嗨,whytheq,我想这类似于请看一下这个,我曾试图解决这个问题,但未能解决。如果您只需在日期维度中添加一个isplastDate标志作为新属性,将会更加简单和高效。Cheers@GregGalloway:我要玩的多维数据集没有未来的日期。嗨,whytheq,我想这类似于请看一看,我正在尝试解决这个问题,但是不能。