If you have a lot of columns with values High, Medium, Low
then I would suggest to create separate dimension where you can have for example the following attribues:
ProbabilityKey
ProbabilityLevelShort (H,M,L)
ProbabilityLevelLong (High, Medium, Low)
ProbabilityLevelInt (1,2,3)
ProbabilityLevelPct (0,0.5,1)
ProbabilityLevelPctDesc (0%, 50%, 100%)
This will help on reporting level where you will frequently need to transform these values into some labels or perform other type of analysis (e.g. sum of ProbabilityLevelInt
). The final dimension can look like (only first three colums):
risk_dimension(ProbabilityKey,ProbabilityLevelShort,ProbabilityLevelLong)
1 H High
2 M Medium
3 L Low
You can do pretty much the same with strategy column. If you do not have too many types of columns, you can create junk dimension with combination of probability level and strategy, something like:
junk_risk_dimension(ProbabilityKey,ProbabilityLevelShort,ProbabilityLevelLong,StrategyLong)
1 H High Accept
2 M Medium Accept
3 L Low Accept
4 H High Reduce
5 M Medium Reduce
6 L Low Reduce
7 H High Share
8 M Medium Share
9 L Low Share
Then, in your fact table you have just pointer to this junk dimension:
risk_fact_table
record_id dim_key some_other_key
1 1
2 1
3 2
4 3
5 4
6 5
We will need more detailed list of columns if you need more detailed answer.