Skip to content

Instantly share code, notes, and snippets.

@ralfbecher
Last active March 15, 2026 12:54
Show Gist options
  • Select an option

  • Save ralfbecher/c112d9cc5bab36f45c662116b3e01f09 to your computer and use it in GitHub Desktop.

Select an option

Save ralfbecher/c112d9cc5bab36f45c662116b3e01f09 to your computer and use it in GitHub Desktop.
OrionBelt Semantic Layer: Simple Movies DB OBML to demonstrate Dimension-Exclude (anti-join via EXCEPT)
version: 1.0
dataObjects:
Movies:
code: movies
database: demo
schema: movies
synonyms: [film]
columns:
Movie ID:
code: movie_id
abstractType: int
Title:
code: title
abstractType: string
Directors:
code: directors
database: demo
schema: movies
synonyms: [filmmaker]
columns:
Director ID:
code: director_id
abstractType: int
Director Name:
code: name
abstractType: string
Producers:
code: producers
database: demo
schema: movies
columns:
Producer ID:
code: producer_id
abstractType: int
Producer Name:
code: name
abstractType: string
Movie Directors:
code: movie_directors
database: demo
schema: movies
columns:
Movie ID:
code: movie_id
abstractType: int
Director ID:
code: director_id
abstractType: int
joins:
- joinType: many-to-one
joinTo: Movies
columnsFrom:
- Movie ID
columnsTo:
- Movie ID
- joinType: many-to-one
joinTo: Directors
columnsFrom:
- Director ID
columnsTo:
- Director ID
Movie Producers:
code: movie_producers
database: demo
schema: movies
columns:
Movie ID:
code: movie_id
abstractType: int
Producer ID:
code: producer_id
abstractType: int
joins:
- joinType: many-to-one
joinTo: Movies
columnsFrom:
- Movie ID
columnsTo:
- Movie ID
- joinType: many-to-one
joinTo: Producers
columnsFrom:
- Producer ID
columnsTo:
- Producer ID
dimensions:
Movie:
dataObject: Movies
column: Title
resultType: string
Director:
dataObject: Directors
column: Director Name
resultType: string
Producer:
dataObject: Producers
column: Producer Name
resultType: string
measures:
Movies Cnt:
columns:
- dataObject: Movies
column: Movie ID
resultType: int
aggregation: count
Directed Movie Links:
columns:
- dataObject: Movie Directors
column: Movie ID
resultType: int
aggregation: count
Produced Movie Links:
columns:
- dataObject: Movie Producers
column: Movie ID
resultType: int
aggregation: count
metrics: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment