2014-03-25 135 views
0

我在我的魔方数计算的领域。我想将它设置当用户查询在Excel中的数据,如果他们添加计算字段中的一个值,如果将鼠标悬停在该值它给出的计算是如何创建的定义。这可能吗?SSAS计算字段

Ex。 AHT = Tot_wrk_tm/vol

+0

你是什么意思的“计算字段”?计算的措施?计算另一个层次结构的成员? – FrankPl

+0

是的,我的意思是计算的度量。它们具有相同的层次结构,我只是试图在用户查看摘要数据时能够在Excel中显示说明。 – mkincade3

回答

0

这取决于您拥有的客户端工具:如果您有自己的客户端工具,并且只需访问度量的定义,则可以按照执行MDX的相同方式执行以下SQL SELECT语句(但要注意结果表格,而不是单元集):

select [MEASURE_NAME], [EXPRESSION] 
    from $system.mdschema_measures 
where [CUBE_NAME] = '<your cube name>' 

这将返回所有措施,而计算出的措施有他们在EXPRESSION列表达式。这个工作从2008年的版本

如果您的用户使用的标准工具,你必须在显示屏上没有影响,则需要它显示的计算,因为那么这可以用正常的立方体进入显示属性。要实现这一点,请在您的数据源视图中创建一个命名查询,该查询会生成单列和单行。我将假定命名查询以及从它构建的维度被命名为“Def”,并且从其构建furtehr的列和属性被称为“定义”。它的价值应该是你想要显示的非计算度量,例如, G。一个空的字符串。如果您使用SQL Server作为您的关系源,则查询定义可能类似于:

select '' as definition 

没有必要将此关联到任何表。从中创建一个新维度,并使其唯一属性为definition。将其IsAggregatable属性设置为false。将此维添加到多维数据集(在多维数据集编辑器中,在左下角的“多维数据集结构”选项卡中,右键单击您的多维数据集并选择“添加多维数据集维度”)。无需在“维度用法”选项卡上设置任何关系。

部署溶液,然后更改Definition属性的“默认成员”属性设置为使用单个构件。这是必要的,因为您将IsAggregatable属性设置为false。

最后,在多维数据集的计算脚本添加以下内容:

SCOPE([Measures].[AHT]); 
    [Def].[Definition].[] = 'Tot_wrk_tm/vol'; 
END SCOPE; 

使用成员等号左边的唯一名称;这可以从多维数据集的元素列表拖动到多维数据集编辑器/计算选项卡中的脚本。重复这三行来计算您想记录的所有计算度量值。

然后,您的用户可以将此属性拖到他们的报告中,只要它有意义,它就会显示您配置的文本。当然,您必须确保对于任何计算度量的定义的每次更改,都必须修改定义属性的代码。没有自动生成。