0

我通过这篇文章解决了我的事实表(在 Qlikview 中处理多个事实表)。但是我对实体表有疑问。我将使用这篇文章中的示例(在 Qlikview 中处理多个事实表)来解释我的问题:

test_scores_fact     |    enrollment_fact      |    school            |    gender         |   student
----------------     |    ---------------      |    ------            |    ------         |   ---
school_code (FK)     |    school_code (FK)     |    school_code (PK)  |    gender_id (PK) | student_id (PK)
test_code (FK)       |    grade_id (FK)        |    school_name (FK)  |    gender_desc    | school_code (FK)
grade_id (FK)        |    ethnicity_id (FK)    |    address           |    ...            | gender_id (FK)
gender_id (FK)       |    gender_id (FK)       |    ...               |
ethnicity_id (FK)    |    number_enrolled (F)  | 
student_id(FK)      |
test_score (F)       | 

在示例中,我添加了与学校表和性别表有关系的学生表。

我的问题:

我按照这些步骤操作,然后我在 Qlik Sense 中加载了我的 sql 表。我还为 test_scores_face 表创建了一个报告,其中包含一些过滤器,例如(student_id、gender_id、...)。当我选择过滤器 student_id 时报告无法过滤的问题?我认为实体表(学校、性别、学生)中的问题是因为它们有共同的字段(如 school_code、geneder_id)。这些公共字段产生循环引用。

为了避免这些循环引用,我必须为实体表做另一个链接表,或者将这些表与事实表的链接表进行比较?我厌倦了这两个解决方案,但我也无法按 student_id 过滤!

我该如何处理这个问题?

4

1 回答 1

1

您需要删除表之间的链接,我假设您正在手动编辑脚本?

如果链接不需要该字段

  • 删除/重命名导致循环引用的字段

如果链接需要字段,请使用连接表中的字段&'_'&

这取决于您希望如何组织数据,但在我看来,作为开始,可以从入学事实表中删除年级和性别,因为这已涵盖在学生身上。

于 2016-10-14T12:46:31.293 回答