Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
![logo](images/sml-logo-large.png)

# SML version 1.5
# SML version 1.6

This is documentation for SML spec version `1.5`. For earlier versions browse the repository tags. Examples:
This is documentation for SML spec version `1.6`. For earlier versions browse the repository tags. Examples:

- [SML version 1.0](https://github.com/semanticdatalayer/SML/tree/v1.0)
- [SML version 1.1](https://github.com/semanticdatalayer/SML/tree/v1.1)
- [SML version 1.2](https://github.com/semanticdatalayer/SML/tree/v1.2)
- [SML version 1.3](https://github.com/semanticdatalayer/SML/tree/v1.3)
- [SML version 1.4](https://github.com/semanticdatalayer/SML/tree/v1.4)
- [SML version 1.5](https://github.com/semanticdatalayer/SML/tree/v1.5)

# What is SML?

Expand Down
13 changes: 13 additions & 0 deletions sml-reference/catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ classDiagram
Boolean build_speculative_aggs
Object dataset_properties
Array~String hidden_models
String description
}
```

Expand Down Expand Up @@ -139,3 +140,15 @@ values you want to set for it at the repository level. For example:
**Note:** Datasets are typically defined at the repository level, in
`catalog.yml`; however, datasets used by a specific model (typically
fact datasets) can be defined within the model itself.

## description

- **Type:** string
- **Required:** N
- **Added in** v1.6

A description of the catalog.

Supported values:

- String (optional)
8 changes: 6 additions & 2 deletions sml-reference/model.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ namespace Models{
class AttributeReference{
String name
String dimension
String row_security
String partition
String distribution
Array~String~ relationships_path
Expand Down Expand Up @@ -646,15 +647,18 @@ definition.

Supported properties:

- `name`: String, required. The name of the dimension attribute to
- `name`: String, required if `row_security` is undefined. The name of the dimension attribute to
include. These values are used to group the summarized metric data in
the resulting aggregate table. Note that user-defined aggregate
definitions are fixed: they do not include every level of a hierarchy
unless they are explicitly defined.

- `dimension`: String, required. The dimension to which the attribute
- `dimension`: String, required if `row_security` is undefined. The dimension to which the attribute
defined by `name` belongs.

- `row_security`: String, required if `dimension` and `name` are
undefined. Allows row security to be included in a user defined aggregate.

- `partition`: String, optional. Adds a partition to the aggregate, and
determines whether it should be defined on the key column, name
column, or both. Supported values: `name`, `key`, `name+key`
Expand Down
10 changes: 10 additions & 0 deletions sml-reference/row-security.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,16 @@ Supported values:
multi-dimension-only queries do have security applied because they are
joined using a synthetic measure from the fact table that relates
them.
- `fact-only`: Security is applied when a query selects a Measure or a
Calculated Measure derived from the connected Fact dataset.
Security is *not* applied when a dim-only query uses the secured Fact dataset.
Security is *not* applied when a dim-only query selects a
degenerate dimension derived from the secured Fact dataset.
If a Model contains a Security dimension used inside of a
Dimension and it’s scope is set to “Fact Only”.
> ### Then the model fails to publish with the error message:
> - Dimension “Customer” has an unsupported Security dimension configuration.
> - Security Dimension “mySecDim” has scope “Fact Only” but is not connected to a fact dataset.
- `all`: The security constraint is applied to all queries, unless there
is no path to the security dimension. This is the case with two
separate fact tables, each with their own unrelated dimensions.
Expand Down