Skip to content
Get started

Coming from Microsoft MDS

Grunddata is a cloud-hosted replacement for Microsoft Master Data Services. If you have run MDS you will recognise most of the model, and the Excel workflow will feel familiar.

Microsoft MDS Grunddata Notes
Model Model Same idea — a grouping of entities.
Entity Table Same idea.
Attribute Attribute Same idea, plus JSON Schema validation.
Domain-based attribute Domain table attribute Same idea. The referenced table must be MANUAL.
Member Record A row.
Code / Name Code / Name Built-in on every table, same purpose.
Business rules Validations Expressed as JSON Schema, built through a form.
Subscription views Views Published as OData rather than SQL views.
Excel add-in Excel plugin The main tool for maintaining data.
Transaction log Commits Every change is attributed and versioned.
Model versions (intentionally absent) See below.

MDS lets you version a model. Grunddata does not, and this is on purpose: MDS versioned the data but always applied the latest structure, which produced misleading history.

Instead, if you need to preserve an old structure alongside a new one, copy the model and put the version in its name:

COREP RF 4.0
COREP RF 4.2
COREP RF 4.3

In Grunddata every record is append-only. There is no configuration to enable history and no purge job to schedule — the version trail is the storage model.

Instead of subscription views in a database you control, Grunddata publishes views over an OData feed that Excel, Power Query and Power BI consume natively.

In addition to Excel, Grunddata provides a Google Sheets add-on with the same download / edit / commit workflow.

  1. Recreate your MDS models as Grunddata models.
  2. Recreate entities as tables. Anything that was used as a domain-based attribute target must be created with Code generation = MANUAL.
  3. Recreate attributes, keeping names identical where possible so existing spreadsheets stay familiar.
  4. Translate business rules into validations, and use Preview to check them against your data before enforcing them.
  5. Load lookups first, then the tables that reference them. Order matters: a domain reference can only resolve if the target record already exists.
  6. Create views for anything that had a subscription view, and repoint your reports.