Manipulando várias tabelas de fatos no Qlikview

Eu tenho um banco de dados PostgreSQL contendo vários dados de educação, tais como pontuações de testes no nível da escola e números de matrícula. Preciso separar a inscrição das pontuações dos testes porque os dados estão em grãos diferentes. Embora a inscrição tenha uma granularidade diferente dos dados de pontuação de teste, muitas das dimensões são as mesmas. Por exemplo, eu tenho:

~ ---------------------------------------------------------------------------------~
| Test Scores Fact                                                                 |
|-------------|-----------|----------|-----------|--------------|------------|-----|
| school_code | test_code | grade_id | gender_id | ethnicity_id | subject_id | ... |
|-------------|-----------|----------|-----------|--------------|------------|-----|

~ --------------------------------------------------------~
| Enrollment Fact                                         |
|-------------|----------|-----------|--------------|-----|
| school_code | grade_id | gender_id | ethnicity_id | ... |
|-------------|----------|-----------|--------------|-----|

Essa estrutura é boa no backend, mas no Qlikview, isso cria uma chave sintética. A solução para chaves sintéticas parece estar substituindo-a por uma tabela de links por meio do script Qlikview, que também tem sido minha abordagem. Mas isso não parece ser escalável, como quando eu adiciono uma terceira tabela de fatos (em outro grão) que contém mais das mesmas dimensões, se eu criar outra tabela de links, agora minhas duas tabelas de links começarão a associar, pois elas contêm várias campos nomeados, e a resposta do Qlikview é criar mais chaves sintéticas?

Sou relativamente novo no Qlikview e estou trabalhando sozinho. Como são múltiplos os fatos de diferentes grãos com dimensões comuns geralmente manipulados?

EDITAR:

Eu forneci minha solução para este problema que vem trabalhando em um ambiente de produção há pouco menos de um ano! Veja minha resposta abaixo ...