DSharp.fi
  • Home
  • Solutions
    • DSharp PathFinder
    • DSharp Studio
    • DSharp Studio Modeler
    • Pricing and Licenses
  • Services
    • Professional services
    • DSharp Training Program and Certifications
    • Developer Support
  • Customers
    • Our Customers
    • Customer Success Stories
      • Pirte’s Data Platform Modernization Boosts Data-Driven Healthcare
      • A City Expanded Its Data Warehouse with Library Data
      • Varha – a wellbeing services county – built a data-driven management system
      • From Double Checks to Smooth Automation – DSharp Studio Simplified Early Childhood Education Data Management
      • Productivity Leap improved Metsähallitus’ data management with DSharp Studio
  • Partners
    • Our Partners
    • Partner Stories
    • Become a Partner
  • Resources
  • Articles
    • Data warehousing
      • Data Warehouse concepts and data models
      • DSharp Studio Release: Extended Data Catalog and New Find Command
    • Reporting automation
      • Automate data pipelines
      • Making Data Management Easier with Automation
      • Metsähallitus enhanced its data management with DSharp’s data platform tool
    • Data modeling and mapping
      • Data Warehouse concepts and data models
      • Data vs Business Driven Modeling
  • About
    • About us
    • Contact us
    • Recruiting
  • Book a Demo
  • Start a Trial
  • Menu Menu
  • Features
    • DSharp Studio Features
    • DSharp Studio Modeler Features
    • Command Reference
    • Release Notes
    • Installation Guide
  • Modeling
    • Design Considerations
      • Data vs Business Driven Modeling
      • The Business Key
    • Basics
      • Model Types
      • Archetypes
      • Datatypes
    • Raw Model
      • Source Mappings
      • Metadata
    • Business Model
      • Metadata
  • Course Material
    • DSharp Studio Professional Course
    • DSharp Studio Expert Course
  • Legacy
    • DSharp Engine Features
      • Mapping Source Data in DSharp Engine
    • DSharp Engine Command Reference
    • DSharp Engine Installation Guide
    • 3rd Party Modeling Tools
      • Visual Paradigm
        • Modeling With Visual Paradigm
        • Configuring Data Vault 2.0 And Servers
        • Implementing Mappings
        • Setting Up
          • Import Stereotypes
          • Configure UI
      • Ellie
        • Modeling With Ellie
        • Ellie Metadata
    • Course Material
      • Intro Course
      • Advanced Course
  • Community
  • FAQ

Class Metadata

Parameter Applicable To Archetype Values
Apply Rate of Change to Attribute group Party, Place Thing
Moment – Interval
Role
Deprecated.
Denormalize Party, Place Thing
Moment – Interval
Role
True: the class will be materialized and the referenced Description classes will be merged to the materialized table. Classes that are accessed often and that are described by a large number of Description classes benefit from denormalization.
False: the class will be published without normalization.

Not implemented.

Duplicate handling Moment – Interval None: duplicates will cause trouble.
Force uniqueness: within the set of identical rows, an index number is calculated and added to the hash, making it unique. This is not a debugging method, and it should be used when the data legitimally contains duplicates.
Track number of duplicates: the number of duplicates will be stored in a separate satellite as an integer value (not implemented).
Identifying key All A list of class properties (attributes and opposite association ends) that define the unique key. The order of the items will define the order in which they appear in the hash calculation. This can be empty if:
– the class has a single attribute marked as Business key, or
– there is no combination of attributes that uniquely identify instances of this class

Note: Classes with a key type of Primary Key will be implemented as link tables. For non-transaction type classes, make sure to include, in addition to the driving key (source system primary key), all association ends that should trigger a new link row being loaded/activated.  This ensures that any change in associations generates a new hash value for the link, and is handled accordingly.

Implement All True: the class will be part of the automation process
False: the class will be ignored during automation
IsTransaction Moment – Interval True: the class will be loaded into a link. The same row (hash) is assumed to never be loaded again.  Note: a transaction cannot have a Business key.
False: the class will get a table structure according to the other parameters.
Key consolidation

(2.7.0 +)

All None: a same-as link table will not be created

Redirect incoming associations to master instance: A same-as link table will be created for the class, and all references to a child hash will be replaced with its master hash in all class views that reference the target view for this class. All child hashes will be visible in the class view of the target class.

Redirect and filter out redundant instances: As above, but any rows with a hash in the Child_hash column of the same-as table will be hidden from the target view of the class.

Key groups

(2.7.0 +)

All Key = Value pairs, where Key = source schema name and Value = any name or string describing the context. Can also be a number without any semantic meaning, as long as you use the same Value for all Keys where the same Business Key always means the same real world thing.

Special case:

*=!s

This should be read as “For any source (*), add the name of the source system (!s) to the hash of this class.

Practical uses:

  • avoid hash collisions between different sources that use the same keys meaning different real world phenomena (example: different projects from different project maganament systems with the same project numbers get a different hash) , or
  • separate same keys from different source systems by force, even though they mean the same thing (example: same person gets a different hash from each source system)
Key type Party, Place, Thing
Moment – Interval
Role
Business key: the class will be represented by a hub
Primary key: the class will be represented by a link
Materialization

(3.2.0 +)

All Yes: Class view will be materialized

No: Class view will not be materialized

Automatic:Materialize if class’ Volume is High or more, or if the class is part of a transformation (for example, directly used as source in a mapping to a BO class, or as part of a transformation path in such a mapping).

State tracking method All None: the state of the class (created, deleted) is not tracked
Simple: the state of the class is tracked in a state tracking satellite. When a data row that has been loaded previously is missing from the source, it is marked as deleted. If it shows up again, it will be marked as Created.
Full: the source system provides dates for when a row is active/deleted. This info would be directly loaded into an activity satellite (not implemented).
Velocity Party, Place Thing
Moment – Interval
Role
Normal, High, Realtime. Defines the relative interval for how often the class is loaded.
Volume Party, Place Thing
Moment – Interval
Role
Very Low, Low, Medium, High, Very High.
This can be used, for example, for determining which classes to load in which process during a parallel load.

Currently this is used to determine whether a class’ view should be materialized. It is assumed that a High Volume class needs materializaton to be efficiently queried.

Property Metadata

Parameter Applicable To Values
Group Attribute
Association End pointing to a Description class
The Group name written here will define a new satellite in which the property will be stored.
Rate of change Attribute
Association End pointing to a Description class
Undefined, Never, Low, Medium, High. This will define the satellite that the property will be stored in. The satellite will by default contain all properties from the same class marked with the same Rate of change.

Low is the default value.

Visibility Attribute
Association End pointing to a Description class
Undefined, Public, Protected, Private. This defines how an attribute value is published in the view layer.

Public: the attribute value will be shown in the view

Protected: the attribute value is present in the view, but it will be hashed

Private: the attribute value will not be present in the view. However, it will be loaded into the data vault.

Public is the default value.The value can be changed at any time. After changing it, a re-install of the view is necessary.

  • Developer Content
    • No Access
    • Model Types
    • Archetypes
    • Datatypes
    • Source Mappings
    • Metadata
    • Metadata
    • Data vs Business Driven Modeling
    • The Business Key
    • DSharp Studio Professional Course
      • Tutorial 01: Person Tutorial
      • Tutorial 02: Add Attributes
      • Tutorial 03: Project Tutorial
      • Tutorial 04: Hash Error Handling
      • Tutorial 05: Simple Hierarchy
      • Tutorial 06: Transactions
      • Tutorial 07: Filtering Data
      • Tutorial 08: Loading Multiple Classes From One Source
      • Tutorial 09: Handling Legitimate Duplicates
      • Tutorial 10: Multiple Attribute Values
    • Intro Course
      • Intro Course – Before You Begin
      • Tutorial 01 – Visual Paradigm
      • Tutorial 01 – Ellie
      • Tutorial 01: Person Tutorial
      • Tutorial 02: Add Attributes
      • Tutorial 03: Project Tutorial
      • Tutorial 04: Hash Error Handling
      • Tutorial 05: Simple Hierarchy
      • Tutorial 06: Transactions
      • Tutorial 07: Changing Load Behaviour
      • Tutorial 08: Loading Multiple Classes From One Source
      • Tutorial 09: Handling Legitimate Duplicates
      • Tutorial 10: Multiple Attribute Values
    • Advanced BDP Developer Course
      • Tutorial 01: Key Groups
      • Tutorial 02: Implementing the Participation Design Pattern
      • Tutorial 03: Versioned Source Data
      • Tutorial 04: Advanced State Handling
      • Tutorial 05: Hierarchy Alternatives
      • Tutorial 06: Hierarchy Depth Changes
      • Tutorial 07: Partial Load Deletion Detection
      • Tutorial 08: Merge Hashes Non-Destructively
      • Tutorial 09: Implementing Business Objects
      • Tutorial 10: Custom Value Transformations
    • DSharp Studio Expert Course
      • Tutorial 01: Key Groups
      • Tutorial 02: Implementing the Participation Design Pattern
      • Tutorial 03: Versioned Source Data
      • Tutorial 04: Advanced State Handling
      • Tutorial 05: Hierarchy Alternatives
      • Tutorial 06: Hierarchy Depth Changes
      • Tutorial 07: Partial Load Deletion Detection
      • Tutorial 08: Merge Hashes Non-Destructively
      • Tutorial 09: Derived Classes
    • Mapping Source Data
    • Command Reference
    • Release Notes And Downloads
    • DSharp Studio Command Reference
    • DSharp Studio Command Reference
    • DSharp Studio Features
    • DSharp Studio Modeler Features
    • DSharp Studio Modeler Installation Guide
    • Installation Guide
    • Configuring Data Vault 2.0 And Servers
    • Modeling With Visual Paradigm
    • Implementing Mappings
    • Import Stereotypes
    • Configure Visual Paradigm UI
    • Modeling With Ellie
    • Ellie Metadata
  • Frequently Asked Questions

Finland
Yliopistonkatu 31, 20100, Turku
Bertel Jungin aukio 5, 02600 Espoo

Germany
Podbielskistrasse 333,
5th floor, 30659, Hannover

Solutions

  • DSharp Studio
  • DSharp Studio Modeler
  • Pricing and Licenses

FAQ

  • About us
  • Contact us
  • Recruiting

Legal

  • Privacy policy
  • DSharp Studio License Subscription Agreement

Contact us!

    © Copyright DSharp Oy
    • Link to LinkedIn
    • Link to Mail
    Scroll to top Scroll to top Scroll to top