
Wanneer je een applicatie creëert in PerformancePoint, heb je een tweetal checkboxen onder de Advanced Options staan, waaronder Enable Excel macro support. Mij was tot nu toe uitgelegd dat wanneer je deze optie uit laat staan, rapporten en formulieren die je maakt met de Excel add-in geen macro's mogen bevatten. Best practice zou zijn deze optie uit te laten staan zodat je zeker weet dat alle berekeningen in de vorm van rules in de modellen zitten, en niet als macro's in formulieren en rapporten. Ook als je in eerste instantie kijkt naar de uitleg van de optie in de Planning Administration Console help, lijkt dit in overeenstemming te zijn met mijn begrip tot nu toe:
"When the check box is selected, PerformancePoint Add-in for Excel users can use macros that can be run with Planning Server forms and reports."
Maar achter dit eerste zinnetje staat nog een zinnetje waar een opmerkzame cursist mij vanmorgen op wees:
"This setting applies only to Excel macros that are related to Planning Server."
De volgende vraag is natuurlijk: wat zijn macros related to Planning Server…? Het antwoord daarop vind je in de help van de Excel add-in:
In PerformancePoint Add-in for Excel, you can use the Excel Macro feature to create and run macros. When you create a macro, you can use Visual Basic for Applications (VBA) to specify commands and functions that are stored in a module. The module must be titled PerformancePoint if you want to call it from events within PerformancePoint Add-in for Excel. You can use the following PerformancePoint Add-in for Excel events to call the PerformancePoint module:
- AfterRefresh: This macro is run after any worksheet, workbook or matrix is refreshed, or when a page filter is changed.
- BeforeAssignmentAction: This macro is run when the Go button (the arrow button next to the Actions drop-down list) is clicked but before the specified assignment action is run.
By default, the ability to run macros, on the AfterRefresh and BeforeAssignmentAction events, is disabled. This option can be enabled or disabled by the system administrator in Planning Administration Console. In addition, for these events, PerformancePoint Add-in for Excel uses the Excel macro security model by allowing only signed macros to run.
Ik heb de proef op de som genomen en inderdaad, wanneer de optie Enable Excel macro support uit staat, kun je gewoon macros opnemen in rapporten en formulieren. De optie voorkomt dus helemaal niet dat deze rapporten en formulieren rekenregels bevatten in de vorm van macros die je liever centraal in je modellen implementeert als business rules. Ik had het dus fout en met mij volgens mij vele anderen!
Alleen wanneer je macros wilt implementeren die uitgevoerd moeten worden op het moment dat één van bovenstaande events optreden, moet je de optie aanzetten. Als je dat wilt doen, let dan wel op de opmerkingen in het laatste fragment uit de help:
- de VBA module waarin je de events implementeert moet de naam PerformancePoint hebben
- de macros moeten worden beveiligd met een certificaat
Met dank aan de opmerkzame cursist die mij dit heeft laten uitzoeken!