Share via


OLAP-kubussen modelleren in management packs

 

Gepubliceerd: juli 2016

Is van toepassing op: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

De capaciteit om aangepaste onderdelen voor management packs te definiëren, is gebruikt als model voor de management pack-elementen voor OLAP-kubussen (Online Analytical Processing) die zijn opgenomen in System Center 2012 – Service Manager. Dankzij deze management pack-elementen kan de gebruiker een OLAP-kubus op een hoger abstractieniveau declaratief definiëren en aanpassen. Op basis van de definitie worden bij de implementatie van deze management pack-elementen de juiste relaties, onderdelen en fundamentele bouwstenen van de OLAP-kubus met meer detail gemaakt, zonder verdere tussenkomst van de gebruiker. De twee belangrijkste management pack-elementen die worden opgenomen in OLAP-kubussen:

  • SystemCenterCube

  • CubeExtension

SystemCenterCube

Met het element SystemCenterCube wordt de OLAP-kubus met een variërend detailniveau gedefinieerd, afhankelijk van uw specifieke behoeften. Dit element bevat de volgende subelementen:

  • MeasureGroup

  • Substitution

  • CustomMDX

  • NamedCalculation

  • Measure

  • KPI

  • Action (momenteel worden alleen acties voor in detail analyseren ondersteund)

  • ManyToManyRelationship

MeasureGroup

Elke OLAP-kubus bevat een verzameling feiten die in de datamart bestaan. Hierbij hoort elk lid in de verzameling bij een maateenheidgroep. Elke maateenheidgroep moet een eigen unieke naam hebben binnen de OLAP-kubus. Eén feit kan echter bij meerdere maateenheidgroepen in een OLAP-kubus horen. De abstracte relatie WorkItemAssignedToUser kan bijvoorbeeld drie keer zijn gedefinieerd in een OLAP-kubus, met de unieke maateenheidgroepnamen ChangeRequestAssignedToUser, IncidentAssignedToUser en ProblemAssignedToUser. Zoals wordt beschreven in gedeelte Substitution kunt u het feit aanpassen zodat alleen wijzigingsaanvragen, incidenten en problemen worden opgenomen in de betreffende maateenheidgroep voor de OLAP-kubus.

In het volgende voorbeeld wordt het management pack-element voor de maateenheidgroep IncidentAssignedToUser weergegeven:

<MeasureGroup DateDimAlias="IncidentAssignedToUserDateDim" MeasureGroupName-"IncidentAssignedTouser" Fact="DWBase!WorkItemAssignedToUserFact"/>  

Wanneer de OLAP-kubus wordt geïmplementeerd, worden de relaties van dimensies, outriggers en refererende sleutels automatisch berekend en wordt de gegevensbronweergave bijgewerkt met deze nieuwe elementen. In de volgende tabel worden kenmerken van maateenheidgroepen beschreven.

Kenmerk Vereist Waarden Definitie
DateDimAlias Nee Tekenreeks De naam van de datumdimensie waarop deze maateenheidgroep wordt gefilterd. Als er geen alias wordt opgegeven, wordt de rollenspelnaam van de datumdimensie automatisch (MeasureGroupName)_DateDim
MeasureGroupName Ja Tekenreeks De naam van de maateenheidgroep in de kubus. Deze naam moet uniek zijn binnen de kubus.
Fact Ja Relatie of CustomFact Het doel van de maateenheidgroep. Dit moet een feit zijn in het datawarehouse.

Substitution

Omdat relatiefeiten in het datawarehouse gericht kunnen zijn op abstracte relaties en dimensies, moet u vervangingen in concrete dimensies uitvoeren zodat de maateenheidgroep alleen de gewenste instanties bevat.

Dit wordt verduidelijkt in het volgende voorbeeld.

<Substitution MeasureGroupName="IncidentAssignedTouser" RelationshipEndpoint="Source" Relationship="Workitem!System.WorkItemAssignedToUser" TargetDimension="DWBase!WorkItemDim" ReplacementDimension="IncidentDW!IncidentDim"/>  

In dit voorbeeld verwijst de maateenheidgroep IncidentAssignedToUser naar de relatie WorkitemAssignedToUser. Deze relatie bevat echter niet alleen incidenten, maar ook wijzigingsaanvragen en problemen die zijn toegewezen aan de gebruikers. In Service Manager wordt WorkItemDim vervangen door IncidentDim om ervoor te zorgen dat deze maateenheidgroep alleen incidenten bevat. Dit betekent dat door de tabel die wordt gemaakt in de gegevensbronweergave voor de maateenheidgroep automatisch een inner join voor WorkItemDim wordt uitgevoerd met IncidentDim. Vervolgens worden alleen die exemplaren geretourneerd waarvoor een join geldig is op basis van de EntityDimKey of BaseManagedEntityId.

U moet het relatie-eindpunt opgeven waar u de vervanging wilt uitvoeren. Dit element is vereist omdat het mogelijk is dat de bron- en eindpuntdimensies identiek zijn er een methodologie nodig is om uniek te kunnen identificeren welke dimensie moet worden vervangen. Een voorbeeld van een dergelijke relatie is WorkItemRelates to WorkItem.

Het vervangingselement wordt ook gebruikt om aliasdimensies voor de kubus te definiëren. U kunt dus een aliasnaam voor een dimensie definiëren, maar het is niet vereist om een dimensie werkelijk te vervangen. De vervanging wordt in dit geval niet uitgevoerd op de dimensie, maar op de kubusdimensie- of aliasdimensienaam, zoals wordt weergegeven in het volgende voorbeeld:

<Substitution MeasureGroupName="IncidentAssignedToUser" RelationshipEndpoint="Target" Relationship="Workitem!System.WorkItemAssignedToUser" AliasTargetDimensionAs="AssignedToUserDim" TargetDimension="DWBase!UserDim"/>  

In dit voorbeeld is de dimensienaam van de aliaskubus AssignedToUserDim. Dit is de naam van de dimensie die wordt gebruikt om deze kubus op te filteren. Door gebruikers in staat te stelen aliasnamen te definiëren, kunnen namen specifiek worden aangepast om de gewenste vele-tot-vele-relaties in de kubus in te schakelen. Hierdoor zijn meer geavanceerde filter- en analysefuncties mogelijk.

Vervangingen zijn niet alleen geldig voor relatiefeiten, maar ook voor aangepaste feiten. In dit scenario wordt het relatie-eindpunt ingesteld op None. In de volgende tabel worden vervangingskenmerken beschreven.

Kenmerk Vereist Waarden Definitie
MeasureGroupName Ja Tekenreeks De naam van de maateenheidgroep waarop de vervanging moet worden uitgevoerd
RelationshipEndPoint Ja (Target, Source, None) Het eindpunt van de relatie om de vervanging uit te voeren. Standaard is de waarde None voor aangepaste feiten.
Relatie Nee ManagementPackRelationship De relatie die moet worden gebruikt voor de vervanging.
AliasTargetDimensionAs Nee Tekenreeks De aliasnaam van de oorspronkelijke doeldimensie
AliasReplacementDimensionsAs Nee Tekenreeks De aliasnaam voor de vervangen dimensie
DimensionAlias Nee ManagementPackDimension Het dimensiealias van een aangepast feit, indien van toepassing

Aangepaste MDX

U kunt aangepaste MDX-scripts (Multi-Dimensional Expression) gebruiken om de OLAP-kubus zo aan te passen dat deze geheel voorziet in uw behoeften. Omdat Service Manager op modellen zijn gebaseerd, is het niet mogelijk om al uw mogelijke semantische wensen te bepalen vanwege de grote verscheidenheid aan mogelijke vereisten en exacte specificaties voor de domeinspecifieke zakelijke behoeften van een bepaalde gebruiker. Met aangepaste MDX kunt u MDX-scripts definiëren die worden toegepast op de OLAP-kubus om specifieke scenario's mogelijk te maken die gebruikers nodig hebben voor metingen.

Benoemde berekening

U kunt benoemde berekeningen gebruiken om nieuwe kenmerken voor een dimensie te definiëren die later als doel kunnen fungeren voor een aangepaste maateenheid. Op deze manier kunt u het dimensieschema uitbreiden en het schema geheel naar wens aanpassen. Het volgende voorbeeld komt uit de SystemCenterWorkItemsCube:

<NamedCalculation ID="IncidentsPastTargetResolutionTime" Target="IncidentDW!IncidentDim" ColumnType="Int">  
<Calculation>(case when ( (([Status] = 'IncidentStatusEnum.Resolved' OR [Status] = 'IncidentStatusEnum.Closed') AND ResolvedDate > TargetResolutionTime) OR (([Status] != 'IncidentStatusEnum.Resolved' AND [Status] != 'IncidentStatusEnum.Closed') AND GETUTCDATE() > TargetResolutionTime)) then 1 else 0 end )</Calculation>  
</NamedCalculation>  

In dit voorbeeld bevat de dimensie Incident gegevens, zoals de status van het incident en de doeloplossingstijd. Er is echter geen systeemeigen meting waarmee het aantal incidenten kan worden berekend dat de doeloplossingstijd heeft overschreden, hoewel dit type gegevens zeer nuttig is voor een systeembeheerder. U kunt dit scenario maken met een benoemde berekening en de gegevens totaliseren zodat het nieuwe kenmerk door een aangepaste meting kan worden gebruikt en de gegevens kunnen worden weergegeven voor een eindgebruiker.

Service Manager ondersteunt alleen NamedCalculation-doeldimensies. NamedCalculation kan geen feiten als doel hebben. In de volgende tabel worden kenmerken van benoemde berekeningen beschreven.

Kenmerk Vereist Waarden Definitie
Id Ja Tekenreeks Naam van de benoemde berekening.
Doel Ja ManagementPackDimension De doeldimensie voor de meting
ColumnType Ja (Int., Double) Het SQL-type van de kolom
Type Nee (Count, Sum) Het type meting

Het subelement <Calculation> bevat als waarde de definitie van de benoemde berekening. De waarde wordt opgeslagen als een MDX-expressie.

Measure

U kunt aangepaste maatregelen gebruiken om gegevens te verzamelen en weer te geven op basis van numerieke kenmerken van dimensies. Service Manager biedt geen ondersteuning voor aangepast maatregelen op basis van feiten. In het bovenstaande voorbeeld van de benoemde berekening definieert Service Manager een aangepaste meting op basis van IncidentsPastTargetResolutionTime zoals hieronder:

<Measure ID="IncidentsPastTargetResolutionTimeCount" Target="IncidentDW!IncidentDim" Type="Sum" Property="IncidentsPastTargetResolutionTime"/>  

In deze XML-code is IncidentDimension het doel van de meting en is IncidentsPastTargetResolutionTime de specifieke eigenschap. Dit is de aangepaste eigenschap die eerder is gedefinieerd. Aangepaste metingen kunnen zijn gericht op bestaande of berekende eigenschappen in de dimensie.

Ten slotte is opgegeven dat de meting van het type som is. Mogelijke waarden voor een metingtype zijn Som en Aantal. Uit prestatieoverwegingen zijn metingen van het type Uniek aantal niet toegestaan in Service Manager. In de volgende tabel worden kenmerken voor metingen beschreven.

Kenmerk Vereist Waarden Definitie
Id Ja Tekenreeks Naam van de meting
Doel Ja ManagementPackDimension De doeldimensie voor de meting
Eigenschap Ja Tekenreeks De doeldimensie-eigenschap
Type Nee (Count, Sum) Het type meting

ManyToManyRelationship

Met ManyToManyRelationship kunt u, de ontwerper van de kubus, aangepaste, vele-tot-vele-dimensies toevoegen aan een OLAP-kubus, om scenario's voor geavanceerde analyse mogelijk te maken. Het definiëren van vele-tot-vele-relaties valt buiten het bereik van dit document. U kunt dit concept en de voordelen onderzoeken. Meer informatie over de ManyToManyRelationship, zie The Many-to-Many Revolution 2.0.

Tijdens de implementatie van kubussen worden in Service Manager automatisch vele-tot-vele-dimensies aan de kubus toegevoegd voor alle directe relaties, zonder uw tussenkomst. In Service Manager worden echter geen vele-tot-vele-dimensies toegevoegd voor indirecte relaties vanwege de exponentiële toename van het aantal mogelijke relaties dat zou kunnen worden toegevoegd. Als al deze relaties worden toegevoegd, beïnvloedt dit de prestaties aanzienlijk als de OLAP-kubus wordt doorzocht. De aggregaties van vele-tot-vele-relaties worden namelijk doorgaans niet berekend tijdens verwerking en de verbindingen worden beoordeeld terwijl de OLAP-kubus wordt doorzocht. Als u een specifieke, indirecte, vele-tot-vele-relatie wilt, kunt u de relatie definiëren en aan de OLAP-kubus toevoegen op basis van een management pack-element. U kunt ook een automatisch gegenereerde, vele-tot-vele-relatie overschrijven om een andere, tussenliggende maateenheidgroep te gebruiken in gevallen waarin meerdere tussenliggende groepen bestaan. In dit geval wordt in Service Manager automatisch de eerste groep gebruikt die wordt aangetroffen. Hieronder wordt een voorbeeld van een management pack-element met een vele-tot-vele-relatie beschreven:

<ManyToManyRelationship CubeDimension="ServiceDim" TargetMeasureGroup="AlertAboutConfigItem" IntermediateMeasureGroup="ServiceContainsConfigItem" />  

In de volgende tabel worden kenmerken van vele-tot-vele-relaties beschreven.

Kenmerk Vereist Waarden Definitie
CubeDimension Ja Tekenreeks Naam van de vele-tot-vele-kubusdimensie
TargetMeasureGroup Ja Tekenreeks De doelmaateenheidgroep voor het maken van de vele-tot-vele-relatie
IntermediateMeasureGroup Ja Tekenreeks De tussenliggende maateenheidgroep voor het maken van de vele-tot-vele-relatie

KPI

Organisaties en bedrijven kunnen KPI's (Key Performance Indicators) gebruiken om de status van een onderneming snel te bepalen door hun progressie ten opzichte van een vooraf gedefinieerd doel te meten. Elke KPI heeft een doelwaarde en een werkelijke waarde. De doelwaarde is een kwantitatief doel dat essentieel is voor het succes van de organisatie. Grote hoeveelheden gegevens worden gefilterd tot één discrete waarde die kan worden gebruikt om de prestaties en progressie ten opzichte van bepaalde doelen en benchmarks te volgen. Een universiteit kan bijvoorbeeld als KPI hanteren dat 90% van de studenten binnen vier jaar afstudeert en een basketbalteam kan als KPI voor een wedstrijd hanteren dat het schotpercentage van de tegenstander onder de vijftig procent moet worden gehouden. U kunt een scorecard gebruiken om een groep KPI's weer te geven. Zo biedt u direct een momentopname van de algehele status van een bedrijf. Hier volgt een voorbeeld van een KPI:

<KPI ID="IncidentResolutiuonKpi" >  
<Caption> The ratio of incidents resolved </Caption>  
<Value>IIF(([Measures].[IncidentDimCount])> 0,([Measures].[IncidentsResolvedCount]/[Measures].[IncidentDimCount]),null)</Value>   
<Goal>1.0</Goal>   
<GreenThreshold> 0.75</GreenThreshold>  
<YellowThreshold>0.5 </YellowThreshold>  
<Direction>Up</Direction>  
<StatusGraphic>Thermometer</StatusGraphic>   
</KPI>  

In de volgende tabel worden KPI-kenmerken beschreven.

Kenmerk Vereist Waarden Definitie
Id Ja Tekenreeks Naam van de KPI
Bijschrift Ja Tekenreeks Beschrijving van de KPI
Waarde Ja Tekenreeks MDX-script om de numerieke waarde van de KPI te definiëren
Doel Ja Tekenreeks ​De doelwaarde van de KPI
Groene drempelwaarde Ja Tekenreeks (tussen 0,1 en 1) ​Elke numerieke waarde boven of onder deze drempelwaarde, afhankelijk van de richting, wordt als groen gemarkeerd in het statussymbool.
​Gele drempelwaarde Ja Tekenreeks (tussen 0,1 en 1) Elke numerieke waarde boven of onder de drempelwaarde, afhankelijk van de richting, maar die niet voldoet aan de groende drempelwaarde, wordt als geel gemarkeerd in het statussymbool. Een numerieke waarde die niet voldoet aan de gele drempelwaarde, wordt als rood gemarkeerd in het statussymbool.
​Richting Ja ​(Omhoog, omlaag) ​Als de richting omhoog is, worden numerieke waarden boven de groene of gele drempelwaarde gemarkeerd met het bijbehorende symbool. Is de richting omlaag, dan worden numerieke waarden onder de groene of gele drempelwaarde gemarkeerd met het bijbehorende symbool.
​Statusafbeelding Ja ​(Shapes, TrafficLight, RoadSigns, Gauge, ReversedGauge, Thermometer, Cylinder, Faces, VarianceArrow) ​Het symbool dat de KPI vertegenwoordigt.

Action

Acties zijn gebeurtenissen die u kunt activeren voor een OLAP-kubus wanneer u gegevens opent in de kubus. Alleen in detail analyseren wordt momenteel ondersteund door Service Manager. Hieronder volgt een voorbeeld van een actie:

<Action ID="DrillThroughOnWICreatedByUser" MeasureGroupName="CreatedByUser" ActionType="DrillThrough">   
<DrillThroughColumns CubeDimension="WorkItemCreatedByUser_UserDim">   
<Property PropertyName="FirstName" />   
<Property PropertyName="LastName" />   
<Property PropertyName="Company" />   
<Property PropertyName="Department" />   
<Property PropertyName="Office" />   
</DrillThroughColumns>   
</Action>  

In de volgende tabel worden actiekenmerken beschreven.

Kenmerk Vereist Waarden Definitie
Id Ja Tekenreeks Naam van de actie voor in detail analyseren
MeasureGroupName Ja Tekenreeks Beoogde maateenheidgroep van de actie
ActionType Ja (DrillThrough) Type actie. Alleen in detail analyseren wordt momenteel ondersteund door Service Manager.
CubeDimension Ja Tekenreeks ​De kubusdimensie die het doel is van de actie (dit moet een slicer voor de maateenheidgroep zijn)
PropertyName Ja Tekenreeks Kenmerk van de dimensie die wordt weergegeven wanneer de actie voor in detail analyseren wordt uitgevoerd

CubeExtension

Het CubeExtension-element dient voornamelijk om u in staat te stellen wijzigingen aan te brengen in de OLAP-kubus nadat de kubus is geïmplementeerd in SSAS, zonder dat de kubus moet opnieuw hoeft te worden geïnstalleerd. In situaties waarin de OLAP-kubus volledig verwerkt is en jaren aan gegevens bevat, kan het opnieuw maken van de kubus veel tijd in beslag nemen omdat alle partities volledig opnieuw moeten worden verwerkt.

Met het CubeExtension-element kunnen de volgende elementen worden gedefinieerd:

  • NamedCalculation

  • ManyToManyRelationship

  • KPI

  • Measure

  • Action

  • CustomMdx

Elke aanpassing die in een CubeExtension-element wordt gedefinieerd, kan ook worden gedefinieerd in een SystemCenterCube-object. De enige aanpassing die niet is toegestaan is de toevoeging van feiten of maateenheidgroepen aan en vervangingen in de kubus.

Zie ook

OLAP-kubussen begrijpen