通过选择命令并执行它,如下所述在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执行此操作可以正常工作,并返回明智的结果:
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只能创建会话作用域的计算成员,描述在这里
您所做的就是您成功创建了该成员,并且在同一查询窗口中运行了该查询:
select measures.allmembers on 0
from [Logistics]
您实际上会看到[Measures].[Printed]
成员。但是,一旦在此多维数据集上的SSMS中打开“新建查询”窗口,然后select measures.allmembers on 0 from [Logistics]
再次运行 ,您将不再看到计算所得的成员。
因此,解决方案是create member
如上所述,将该脚本添加到Visual Studio的“计算脚本”中,然后部署多维数据集。
另外,要将度量放置在度量值组中或它下面的某个文件夹中,可以使用ASSOCIATED_MEASURE_GROUP
和DISPLAY_FOLDER
属性。所以像这样:
create member [MyCube].Measures.MyMeasure as 999, ASSOCIATED_MEASURE_GROUP = 'My measure group', DISPLAY_FOLDER = 'My display folder'
您为我提供了很多帮助:太好了,非常感谢!我仍然有一个问题,即使我在Excel中定义了计算所得的成员,它也不会返回值。
我已经怀疑这是一个范围问题,但是由于即使使用Excel中的定义,我也无法获取“ Pickings”的值,这一事实使我感到困惑。但是现在,我将按照您的建议进行;如果我提出有趣的发现,我会报告。谢谢!