我通过这篇文章解决了我的事实表(在 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 过滤!
我该如何处理这个问题?