Case Clauses for Mapping Rules
- Vorherrschende Sprache
- Scala
- Sterne
- 33
- Forks
- 16
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
## Background
Currently, we have no functionality to do case clauses in the Menas UI:
The types of rules that require this functionality have been done through the API rather than the UI but we have gotten more requests for this to be a functionality in the UI.
## Problem
Some use cases need to do apply a case clause before being able to do a mapping rule.
### Example:
There is a dataset that holds client keys that are either an Source1 or Source2 in the same column.
When trying to conform this against a mapping table the joins would be as follows:
*Mapping Table : Dataset*
SourceSystem : SourceSystem (Needs to be a literal - either Source1 or Source2)
SystemCode : ClientKey
Currently, it is not possible to have both Source2 and Source1 as the literal so we would only be able to conform against Source1 or Source2 but not both.
## Proposed Solution
1. Dynamic Literal -
CASE
WHEN LEN(ClientKey) = 6 THEN “source1”
ELSE CASE
WHEN LEN(ClientKey) = 10 THEN “source2”
ELSE “UNKNOWN” END END
2. Extra Clause in Join Condition -
*Mapping Table : Dataset*
SourceSystem : in ("source1","source2")
SystemCode : ClientKey
3. Filter Mapping Table Before Executing Join -
*Mapping Table Filter Condition*
SELECT($"MappingTable.SourceSystem".isin("source1","source2"))
[Example](https://app.zenhub.com/files/154513089/6c6fdbd7-c48c-4b28-a9da-66f98821fd12/download)
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.