
Begin dit jaar heb ik al een keer een artikel geschreven over het aan de praat krijgen van een aantal samples in de BI VPC die niet meer werkten in 2008. Ook in mijn eigen VPC waarin ik de standaard PerformancePoint Monitoring samples heb geïnstalleerd, liep ik daar tegenaan. En eigenlijk had ik geen zin in de truc van het veranderen van de systeemdatum. Dus maar eens gekeken wat er nu echt gebeurt. Eén van de monitoring voorbeelden is gebaseerd op de ProClarity Datawarehouse database (PDW) in Analysis Services. In die database wordt in de Performance kubus een hidden calculated member opgenomen genaamd 'Current Week String'. Deze wordt via de Now() functie ingesteld op de huidige week in het huidige jaar, bijv. '30-08'. Op andere plekken in deze kubus wordt deze hidden member vervolgens gebruikt om uit de Week hierarchie in de tijd dimensie te verwijzen naar de huidige week. Echter, de tijd dimensie gaat niet verder dan week 53 in 2007.
Een workaround die ik nu heb toegepast is de definitie van de 'Current Week String' member te wijzigen zodat deze nog wel naar de huidige kalenderweek verwijst, maar altijd in 2007:
//BEGIN – Current Week String Using NOW() Function
–CREATE HIDDEN [Current Week String] =
CREATE MEMBER CURRENTCUBE.[Current Week String] AS
CStr(DatePart("ww",Now())) + '-' +
// HG 20080722 Er wordt hier een string in het formaat 30-08 (wk-jr) gevormd, echter
// in de kubus zit alleen data tot 2007. Daarom hier als jaar vast 2007 genomen.
// Het weeknummer blijft wel dynamisch en gelijk aan de huidige kalenderweek.
//Right(CStr(DatePart("yyyy",Now())),2),
'07',
VISIBLE = False;
//END – Current Week String Using NOW() Function
Deze workaround zorgt ervoor dat de PerformancePoint Monitoring Samples het doen zonder de klok te moeten aanpassen.