Kenmerkrelaties

Van toepassing op: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

In Microsoft SQL Server SQL Server Analysis Services zijn kenmerken binnen een dimensie altijd direct of indirect gerelateerd aan het sleutelkenmerk. Wanneer u een dimensie definieert op basis van een stervormig schema, waarbij alle dimensiekenmerken worden afgeleid van dezelfde relationele tabel, wordt automatisch een kenmerkrelatie gedefinieerd tussen het sleutelkenmerk en elk niet-sleutelkenmerk van de dimensie. Wanneer u een dimensie definieert op basis van een snowflake-schema, waarbij dimensiekenmerken worden afgeleid van meerdere gerelateerde tabellen, wordt automatisch een kenmerkrelatie als volgt gedefinieerd:

  • Tussen het sleutelkenmerk en elk niet-sleutelkenmerk dat is gebonden aan kolommen in de hoofddimensietabel.

  • Tussen het sleutelkenmerk en het kenmerk dat is gebonden aan de vreemde sleutel in de secundaire tabel die de onderliggende dimensietabel koppelt.

  • Tussen het kenmerk dat is gebonden aan de vreemde sleutel in de secundaire tabel en elk niet-sleutelkenmerk dat is gebonden aan kolommen uit de secundaire tabel.

Er zijn echter een aantal redenen waarom u deze standaardkenmerkenrelaties mogelijk wilt wijzigen. U kunt bijvoorbeeld een natuurlijke hiërarchie, een aangepaste sorteervolgorde of dimensiegranulariteit definiëren op basis van een niet-sleutelkenmerk. Zie De naslaginformatie over eigenschappen van dimensiekenmerken voor meer informatie.

Opmerking

Kenmerkrelaties zijn bekend in Multidimensionale Expressies (MDX) als lideigenschappen.

Natuurlijke hiërarchierelaties

Een hiërarchie is een natuurlijke hiërarchie wanneer elk kenmerk in de door de gebruiker gedefinieerde hiërarchie een een-op-veel-relatie heeft met het kenmerk direct eronder. Denk bijvoorbeeld aan een klantdimensie op basis van een relationele brontabel met acht kolommen:

  • CustomerKey

  • Klantnaam

  • Leeftijd

  • Geslacht

  • E-mailen

  • City

  • Country

  • Regio

De bijbehorende Analysis Services-dimensie heeft zeven kenmerken:

  • Klant (op basis van CustomerKey, met CustomerName die lidnamen levert)

  • Leeftijd, geslacht, e-mail, stad, regio, land

Relaties die natuurlijke hiërarchieën vertegenwoordigen, worden afgedwongen door een kenmerkrelatie tussen het kenmerk voor een niveau en het kenmerk voor het niveau eronder te maken. Voor SQL Server Analysis Services geeft dit een natuurlijke relatie en mogelijke aggregatie aan. In de dimensie Klant bestaat er een natuurlijke hiërarchie voor de kenmerken Land, Regio, Plaats en Klant. De natuurlijke hiërarchie waarvoor {Country, Region, City, Customer} wordt beschreven, wordt beschreven door de volgende kenmerkrelaties toe te voegen:

  • Het kenmerk Land als een kenmerkrelatie met het kenmerk Regio.

  • Het kenmerk Regio als een kenmerkrelatie met het kenmerk Plaats.

  • Het kenmerk Plaats als een kenmerkrelatie met het kenmerk Klant.

Voor het navigeren in gegevens in de kubus kunt u ook een door de gebruiker gedefinieerde hiërarchie maken die geen natuurlijke hiërarchie in de gegevens vertegenwoordigt (een ad-hoc - of rapportagehiërarchie genoemd). U kunt bijvoorbeeld een door de gebruiker gedefinieerde hiërarchie maken op {Age, Gender}basis van . Gebruikers zien geen verschil in hoe de twee hiërarchieën zich gedragen, hoewel de natuurlijke hiërarchie profiteert van het aggregeren en indexeren van structuren , verborgen voor de gebruiker, die rekening houden met de natuurlijke relaties in de brongegevens.

De eigenschap SourceAttribute van een niveau bepaalt welk kenmerk wordt gebruikt om het niveau te beschrijven. De eigenschap KeyColumns voor het kenmerk specificeert de kolom in de gegevensbronweergave die de leden levert. De eigenschap NameColumn op het kenmerk kan een andere naamkolom voor de leden opgeven.

Als u een niveau wilt definiëren in een door de gebruiker gedefinieerde hiërarchie met behulp van SQL Server Data Tools, kunt u met Dimension Designer een dimensiekenmerk, een kolom in een dimensietabel of een kolom uit een gerelateerde tabel selecteren die is opgenomen in de gegevensbronweergave voor de kubus. Zie User-Defined-hiërarchieën maken voor meer informatie over het maken van door de gebruiker gedefinieerde hiërarchieën.

In Analysis Services wordt meestal een aanname gedaan over de inhoud van leden. Bladleden hebben geen afstammingen en bevatten gegevens die zijn afgeleid van onderliggende gegevensbronnen. Niet-bladleden hebben afgeleiden en bevatten gegevens die zijn afgeleid van aggregaties uitgevoerd op kindleden. In geaggregeerde niveaus zijn leden gebaseerd op aggregaties van onderliggende niveaus. Als de eigenschap IsAggregatable is ingesteld op False voor een bronkenmerk voor een niveau, moeten er dus geen samenvoegbare kenmerken worden toegevoegd als niveaus erboven.

Een kenmerkrelatie definiëren

De belangrijkste beperking wanneer u een kenmerkrelatie maakt, is ervoor te zorgen dat het kenmerk waarnaar wordt verwezen door de kenmerkrelatie niet meer dan één waarde heeft voor een lid in het kenmerk waartoe de kenmerkrelatie behoort. Als u bijvoorbeeld een relatie definieert tussen een kenmerk Plaats en een kenmerk Staat, kan elke plaats slechts betrekking hebben op één staat.

Kenmerkrelatiequeries

U kunt MDX-query's gebruiken om gegevens op te halen uit kenmerkrelaties, in de vorm van lideigenschappen, met het sleutelwoord PROPERTIES van de MDX SELECT-instructie . Zie Ledeneigenschappen (MDX) gebruiken voor meer informatie over het gebruik van MDX om lideigenschappen op te halen.

Zie ook

Kenmerken en kenmerkhiërarchieën
Eigenschappen van dimensie-atributen
Gebruikershiërarchieën
Eigenschappen van gebruikershiërarchie