更新:我认为我找到了答案,但我无法在Excel 2013中看到是否有办法执行此操作。
https://msdn.microsoft.com/en-us/library/office/mt574976.aspx
该链接包含有关ModelMeasures.Add方法的文档,但目前我无法找到真正的好例子。如果有人在Excel 2013中有一个很好的示例,可以使用VBA向模型添加度量,请分享作为答案。
最佳示例我可以找到,但无法在Excel 2013中完成: https://social.msdn.microsoft.com/Forums/en-US/c7d5f69d-b8e3-4823-bbde-61253b64b80e/vba-powerpivot-object-model-adding-measures-with-modelmeasuresadd?forum=isvvba
原始帖子:
我正在尝试使用VBA自动将计算字段添加到powerpivot数据透视表。我对VBA没有经验。
当我使用下面的公式手动添加计算字段时,我可以看到添加了计算字段。这个VBA代码有什么问题?
这是我的代码:
Sub Macro5()
Dim PvtTbl As PivotTable
Set PvtTbl = Worksheets("Sheet4").PivotTables("PivotTable6")
'Table1 is part of the PowerPivot data model and I have created a pivot table from Table1
PvtTbl.CalculatedFields.Add "column", "=IF(HASONEVALUE(Table1[TEXT1]), VALUES(Table1[TEXT1]), BLANK())"
'Selecting the pivot table and adding the new calculated field
Range("D7").Select
ActiveSheet.PivotTables("PivotTable6").AddDataField ActiveSheet.PivotTables( _
"PivotTable6").CubeFields("[Measures].[column]")
End Sub
我得到的错误:
运行时错误' 1004':应用程序定义或对象定义的错误
答案 0 :(得分:1)
将其组合在一起即可从Excel工作表中加载(将需要更改范围等) 将覆盖现有度量的公式,以便可以遍历而不必处理错误消息(除了最后一个错误处理程序之外)。
最好的部分是可以不按顺序加载度量,以便可以加载依赖于另一个度量的度量。
<div class="row">
<div class="col-md-6">
<div class="pull-left">
<label>Reporting period</label>
<label for="favcity">
<select id="favcity" name="select" >
<option *ngFor="let year of years" [value]="year.years">
{{year.years}}
</option>
</select>
</label>
</div>
</div>
<div class="col-md-6 ">
<div class="pull-right">
<label>Type of event</label>
<label for="favcity">
<select id="favcity" name="select" >
<option *ngFor="let typeEvent of typeEvents" [value]="typeEvent.name">
{{typeEvent.name}}
</option>
</select>
</label>
</div>
</div>
</div>