Tabular Editor is een veel gebruikte tool om semantische modellen te bewerken. Dit is al in verschillende blogs naar voren gekomen. Er bestaan natuurlijk veel best practices voor het ontwikkelen van een model. Maar hoe toets je deze regels nu op je model. Binnen Tabular Editor is de Best Practice Analyzer beschikbaar. Ook wel BPA genoemd. Met deze tool kun je vooraf gedefineerde regels toetsen en toepassen op je model.
Tabular model best practice
Er bestaan natuurlijk veel theorieën en artikelen over de best practice om een model te ontwikkelen. Een aantal voorbeelden waaraan een goed model moet voldoen zijn bijvoorbeeld.
• Gebruik zoveel mogelijk ster-schema's
• Hanteer gepaste naamgeving voor de dimensie en feitentabellen
• Voorkom bi-directionele relaties
• Voorkom many-to-many relaties
• Gebruik van datum-tabellen in het model
• Splits velden in datum- en tijdvelden
• Gebruik van de divide functie
• Partitioneer grote tabellen
Deze lijst kan natuurlijk nog veel verder uitgebreid worden en verder zijn er natuurlijk ook nog veel technische aspecten waar een model aan moet voldoen. Verder kan het natuurlijk ook zo zijn dat een model binnen een organisatie aan bepaalde naamgevingsstandaarden moet voldoen.
Wat is de Best Practice Analyzer
De Best Practice Analyzer is een tool binnen Tabular Editor waarmee je regels kunt definiëren waaraan de metadata van het model aan moet voldoen. De best practices waar een model dus volgens jou aan moet voldoen kan worden vetaald in een aantal regels. Deze regels kun je dan toepassen op je model. Voor bepaalde regels is het zelfs mogelijk om de objecten die niet aan de regel voldoen gelijk automatisch aan te passen. Hierbij moet je bijvoorbeeld denken aan het aanpassen van bepaalde properties.
BPA regels definiëren
De regels waaraan een model moet voldoen kunnen worden gedefinieerd binnen Tabular Editor door het "Manage BPA rules" menu te openen via Tools. Hier kunnen bestaande regels worden aangepast of nieuwe regels worden aangemaakt. Per regel kan dan ook worden aangegeven op welke objecten deze van toepassing is en of deze wel of niet op het huidige model toegepast moet worden. Een aantal voorbeelden van regels die zeker nuttig zijn om op je model te toetsen is bijvoorbeeld:
• Het gebruik van de divide functie in plaats van het deelteken om errors te voorkomen
• Checken op bi-directionele relaties
• Checken op tabellen zonder relatie
• Checken of dubbele velden
BPA regels importeren
Om zelf te BPA regels te definiëren is wel redelijk wat C# kennis nodig. Het kan dus best wel even duren voordat je simpel je eigen regels kunt aanmaken. Gelukkig zijn er ook een aantal sets van regels beschikbaar die je kunt importeren door een script uit te voeren of een json file te downloaden. Deze sets van regels bevatten een aantal standaard best practice regels die je dan gelijk op je model kunt toetsen. Een voorbeeld van zo'n set van regels vind je bijvoorbeeld hier.
BPA regels toepassen
Via hetzelfde menu kun je de BPA regels toepassen op je model. Per regel wordt dan aangegeven welke objecten er niet aan voldoen. Per regel of object heb je de volgende mogelijkheden.
Go to object
Dit brengt je naar het desbetreffende object in Tabular Editor, zodat je het zelf kan aanpassen
Ignore Rule
Hiermee kan de regel worden genegeerd.
Generate fix script
Deze optie is alleen beschikbaar als het object met een script aangepast kan worden, zodat het aan de regel voldoet. Als je voor de optie "Generate script" kiest kan het script nog worden nagelezen en aangepast voordat het wordt uitgevoerd.
Apply fix
Hiermee worden de geselecteerde objecten (of de geselecteerde regel) gelijk aangepast zodat ze aan de regel voldoen.
De Best Practice Analyzer is een handige tool om je model te toetsen aan een aantal basis regels. Deze regels zijn te importeren en hoeven dan ook niet zelf verzonnen dan wel gemaakt te worden. Er zijn ook een aantal regels die voor betere performance van het model kunnen zorgen of voor een kleiner model. Denk hierbij bijvoorbeeld aan de IsAvailableInMdx property. Een aantal regels is ook minder relevant, maar deze kunnen desgewenst uitgeschakeld worden. Wat mij betreft dus een handige tool om je model mee te toetsen.
7 november (online seminar op 1 middag)Praktische tutorial met Alec Sharp Alec Sharp illustreert de vele manieren waarop conceptmodellen (conceptuele datamodellen) procesverandering en business analyse ondersteunen. En hij behandelt wat elke data-pr...
11 t/m 13 november 2024Praktische driedaagse workshop met internationaal gerenommeerde trainer Lawrence Corr over het modelleren Datawarehouse / BI systemen op basis van dimensioneel modelleren. De workshop wordt ondersteund met vele oefeningen en pr...
18 t/m 20 november 2024Praktische workshop met internationaal gerenommeerde spreker Alec Sharp over het modelleren met Entity-Relationship vanuit business perspectief. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikbare ...
26 en 27 november 2024 Organisaties hebben behoefte aan data science, selfservice BI, embedded BI, edge analytics en klantgedreven BI. Vaak is het dan ook tijd voor een nieuwe, toekomstbestendige data-architectuur. Dit tweedaagse seminar geeft antwoo...
De DAMA DMBoK2 beschrijft 11 disciplines van Data Management, waarbij Data Governance centraal staat. De Certified Data Management Professional (CDMP) certificatie biedt een traject voor het inleidende niveau (Associate) tot en met hogere niveaus van...
3 april 2025 (halve dag)Praktische workshop met Alec Sharp [Halve dag] Deze workshop door Alec Sharp introduceert conceptmodellering vanuit een non-technisch perspectief. Alec geeft tips en richtlijnen voor de analist, en verkent datamodellering op c...
10, 11 en 14 april 2025Praktische driedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikba...
15 april 2025 Praktische workshop Datavisualisatie - Dashboards en Data Storytelling. Hoe gaat u van data naar inzicht? En hoe gaat u om met grote hoeveelheden data, de noodzaak van storytelling en data science? Lex Pierik behandelt de stromingen in ...
Deel dit bericht