我们使用Excel来访问SSAS Olap多维数据集。我们使用excel表中定义的一些计算度量。
在其中一个上,我们需要使用在特定单元格上输入的用户值。
有点
[Measures].[Sales]*$a$10
我们找不到任何办法。有什么想法吗?
修改:
由于我们似乎无法找到解决方案,我们正在考虑使用有效值创建一个新表(它是一个有限的短列表)并将它们用作过滤器,因此我们可以使用公式上的值。 我无法想象如何做到这一点,因为它将是一个与多维数据集中的任何其他表无关的表... 这有什么意义吗?
修改:已解决,请参见下文。
答案 0 :(得分:0)
我们刚刚创建了一个 Excel宏!! ,在指定的单元格更改时重建计算的度量:
ActiveWorkbook.Connections( _
"MyHost MyOLAP MyCube").OLEDBConnection. _
CalculatedMembers("[Measures].[MyFormula]").Delete
ActiveWorkbook.Connections( _
"MyHost MyOLAP MyCube").OLEDBConnection. _
CalculatedMembers.AddCalculatedMember Name:="[Measures].[MyFormula]", _
Formula:=Array("[Measures].[Sales]*" & Range("d1").Value), _
Type:=xlCalculatedMeasure,SolveOrder:=0, ParentHierarchy:= _
"[Measures]", NumberFormat:=xlNumberFormatTypeDefault
ActiveSheet.PivotTables("MyPivotTable").RefreshTable
:):)