SSAS MDX:计算成员未显示在 Excel 中
SSAS MDX: Calculated member doesn't show up in Excel
我通过选择命令并执行它,在 SSMS(不是 VS,因此我没有部署它)中创建了如下所述的计算成员。在 MDX 中访问该成员没有问题。
但是 Excel 没有向我显示此度量,而且我也没有在多维数据集浏览器中看到它。我希望在度量组下方找到它。
问题:我错过了什么?
附加问题:如何将此度量放入度量组?
CREATE MEMBER [Logistics].[Measures].[Printed] AS
SUM
(
{
(
[Pick].[Pick Method].&[4]
, EXCEPT([Pick].[Pick Type].MEMBERS, [Pick].[Pick Type].&[A])
, EXCEPT([Loc].[Build Zone].MEMBERS, {[Loc].[Build Zone].[All], [Loc].[Build Zone].&[G1], [Loc].[Build Zone].&[G2], [Loc].[Build Zone].&[G3]})
, EXCEPT([Loc].[Loc Code].MEMBERS, {[Loc].[Loc Code].[All], [Loc].[Loc Code].[EXPRESS]})
)
}
, [Measures].[Nb of Pick lines]
) ;
使用此 MDX-SELECT 执行此操作效果很好,returns 一个合理的结果:
SELECT
NON EMPTY
{
[Location].[Build Zone].MEMBERS, [Location].[Build].[Tested]
} ON COLUMNS
, NON EMPTY {[Calendar].[Calendar Year].[Month].&[2019]&[August].children} ON ROWS
FROM [Logistics] ;
在 SSMS 中,您只能创建会话范围的计算成员,如所述here
你所做的就是成功创建了这个成员,并且在同一个查询中 window 如果你 运行 这个查询:
select measures.allmembers on 0
from [Logistics]
您实际上会看到 [Measures].[Printed]
成员。但是一旦您在 SSMS 中在此多维数据集上打开一个新查询 window,并且再次 运行 select measures.allmembers on 0 from [Logistics]
,您将不再看到您的计算成员。
因此,解决方案是在 Visual Studio 中的计算脚本中添加此 create member
脚本,并部署多维数据集。
此外,要将度量放在度量组中,或者放在它下面的某个文件夹中,您可以使用 ASSOCIATED_MEASURE_GROUP
和 DISPLAY_FOLDER
属性。所以像这样:
create member [MyCube].Measures.MyMeasure as 999, ASSOCIATED_MEASURE_GROUP = 'My measure group', DISPLAY_FOLDER = 'My display folder'
我通过选择命令并执行它,在 SSMS(不是 VS,因此我没有部署它)中创建了如下所述的计算成员。在 MDX 中访问该成员没有问题。 但是 Excel 没有向我显示此度量,而且我也没有在多维数据集浏览器中看到它。我希望在度量组下方找到它。
问题:我错过了什么?
附加问题:如何将此度量放入度量组?
CREATE MEMBER [Logistics].[Measures].[Printed] AS
SUM
(
{
(
[Pick].[Pick Method].&[4]
, EXCEPT([Pick].[Pick Type].MEMBERS, [Pick].[Pick Type].&[A])
, EXCEPT([Loc].[Build Zone].MEMBERS, {[Loc].[Build Zone].[All], [Loc].[Build Zone].&[G1], [Loc].[Build Zone].&[G2], [Loc].[Build Zone].&[G3]})
, EXCEPT([Loc].[Loc Code].MEMBERS, {[Loc].[Loc Code].[All], [Loc].[Loc Code].[EXPRESS]})
)
}
, [Measures].[Nb of Pick lines]
) ;
使用此 MDX-SELECT 执行此操作效果很好,returns 一个合理的结果:
SELECT
NON EMPTY
{
[Location].[Build Zone].MEMBERS, [Location].[Build].[Tested]
} ON COLUMNS
, NON EMPTY {[Calendar].[Calendar Year].[Month].&[2019]&[August].children} ON ROWS
FROM [Logistics] ;
在 SSMS 中,您只能创建会话范围的计算成员,如所述here
你所做的就是成功创建了这个成员,并且在同一个查询中 window 如果你 运行 这个查询:
select measures.allmembers on 0
from [Logistics]
您实际上会看到 [Measures].[Printed]
成员。但是一旦您在 SSMS 中在此多维数据集上打开一个新查询 window,并且再次 运行 select measures.allmembers on 0 from [Logistics]
,您将不再看到您的计算成员。
因此,解决方案是在 Visual Studio 中的计算脚本中添加此 create member
脚本,并部署多维数据集。
此外,要将度量放在度量组中,或者放在它下面的某个文件夹中,您可以使用 ASSOCIATED_MEASURE_GROUP
和 DISPLAY_FOLDER
属性。所以像这样:
create member [MyCube].Measures.MyMeasure as 999, ASSOCIATED_MEASURE_GROUP = 'My measure group', DISPLAY_FOLDER = 'My display folder'