我想在ssas中的olap cube中进行计算。这将是" avg sku by outlet"。
有我的表达:
CREATE
MEMBER CURRENTCUBE.[Measures].[Avg Prod Art Id Distinct Count By OldcID] AS
Avg
(
Descendants
(
[dimOutlets].[OLDC ID].CurrentMember
,[dimOutlets].[OLDC ID].[OLDC ID]
)
,[Measures].[Prod Art Id Distinct Count]
);
它运行正常,但当我尝试添加一些逻辑并出现问题时。我想按状态或类型过滤一些文档。
这就是我所做的:
CREATE
MEMBER CURRENTCUBE.[Measures].[test Calculated Member] AS
Avg
(
NonEmpty
(
NonEmpty
(
{
[dimInvoice].[Doc Type].&[0]
,[dimInvoice].[Doc Type].&[1]
,[dimInvoice].[Doc Type].&[2]
,[dimInvoice].[Doc Type].&[3]
,[dimInvoice].[Doc Type].&[7]
,[dimInvoice].[Doc Type].[All].UnknownMember
}
,{
[dimInvoice].[Status].&[1]
,[dimInvoice].[Status].&[2]
,[dimInvoice].[Status].&[3]
,[dimInvoice].[Status].&[4]
,[dimInvoice].[Status].[All].UnknownMember
}
)
,Descendants
(
[dimOutlets].[OLDC ID].CurrentMember
,[dimOutlets].[OLDC ID].[OLDC ID]
)
)
,[Measures].[Prod Art Id Distinct Count]
) ;
当我尝试在visual studio中的浏览器上测试时,它会长时间思考并且我没有收到回复。
有最佳和快速的方法吗?
PS。抱歉我的英文。
答案 0 :(得分:1)
这是工作(感谢whytheq),但慢慢地,现在我找到解决方案来更快地完成这项工作。想知道是否有可能对立方体进行测量?
CREATE DYNAMIC SET CURRENTCUBE.[DocTypesSet]
AS nonempty
(
{
[dimInvoice].[Doc Type].&[0]
,[dimInvoice].[Doc Type].&[1]
,[dimInvoice].[Doc Type].&[2]
,[dimInvoice].[Doc Type].&[3]
,[dimInvoice].[Doc Type].&[7]
,[dimInvoice].[Doc Type].[All].UnknownMember
}
*{
[dimInvoice].[Status].&[1]
,[dimInvoice].[Status].&[2]
,[dimInvoice].[Status].&[3]
,[dimInvoice].[Status].&[4]
,[dimInvoice].[Status].[All].UnknownMember
}
*Descendants
(
[dimOutlets].[OLDC ID].CurrentMember
,[dimOutlets].[OLDC ID].[OLDC ID]
)
)
CREATE MEMBER CURRENTCUBE.[Measures].[test msr]
AS Sum(DocTypesSet,[Measures].[Prod Art Id Distinct Count] )
答案 1 :(得分:0)
可能将该组移动到命名集中:
CREATE
SET CURRENTCUBE.[DocTypes] AS
NonEmpty
(
NonEmpty
(
{
[dimInvoice].[Doc Type].&[0]
,[dimInvoice].[Doc Type].&[1]
,[dimInvoice].[Doc Type].&[2]
,[dimInvoice].[Doc Type].&[3]
,[dimInvoice].[Doc Type].&[7]
,[dimInvoice].[Doc Type].[All].UnknownMember
}
,{
[dimInvoice].[Status].&[1]
,[dimInvoice].[Status].&[2]
,[dimInvoice].[Status].&[3]
,[dimInvoice].[Status].&[4]
,[dimInvoice].[Status].[All].UnknownMember
}
)
,Descendants
(
[dimOutlets].[OLDC ID].CurrentMember
,[dimOutlets].[OLDC ID].[OLDC ID]
)
);
CREATE
MEMBER CURRENTCUBE.[Measures].[test Calculated Member] AS
Avg
(
[DocTypes]
,[Measures].[Prod Art Id Distinct Count]
) ;