Обработка нескольких таблиц фактов и нескольких сущностей (MySQL) с общими полями в Qlikview/QlikSense

Я разрешил свою таблицу фактов с помощью этого сообщения (Обработка нескольких таблиц фактов в 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)       | 

В примере я добавил таблицу учеников, которая связана со школьной таблицей и таблицей генедера.

Моя проблема:

Я выполнил шаги, затем загрузил свои таблицы sql в Qlik Sense. Я также создал отчет для таблицы test_scores_face с некоторыми фильтрами, такими как (student_id, gender_id,...). Проблема в том, что когда я выбрал фильтр student_id, отчет не может фильтроваться по нему? Я думаю, что проблема в таблицах сущностей (школа, пол, ученик), потому что они имеют общие поля (типа school_code, geneder_id). Эти общие поля создают циклические ссылки.

Чтобы избежать этих циклических ссылок, мне нужно сделать другую таблицу ссылок для таблиц сущностей или объединить эту таблицу в таблицу ссылок таблиц фактов? Я устал от этих двух решений, но я также не могу фильтровать по student_id!

Как я могу справиться с этой проблемой?


person ciao_jo    schedule 13.10.2016    source источник
comment
Может быть масса причин проблемы, которую вы упомянули. Вот что нужно проверить: Убедитесь, что поле фильтра (список) и диаграмма находятся в одном и том же альтернативном состоянии, убедитесь, что одно из общих полей в вашем test_scores_fact связано с student_id через таблицу ссылок. Проверьте, правильно ли настроена модель данных, попробовав отфильтровать одно из общих полей, например gender_id.   -  person bdiamante    schedule 13.10.2016
comment
Я отредактировал свой пост, чтобы хорошо объяснить проблему. Я думаю, что проблема в том, что эти общие поля производят циклические ссылки. Чтобы избежать этих циклических ссылок, мне нужно сделать другую таблицу ссылок для таблиц сущностей или объединить эту таблицу в таблицу ссылок таблиц фактов? Я устал от этих двух решений, но я также не могу фильтровать по student_id! любая помощь? Спасибо   -  person ciao_jo    schedule 14.10.2016


Ответы (1)


Вам нужно убрать связь между таблицами, я так понял, что вы вручную редактируете скрипт?

Если поле не обязательно для ссылки

  • Удалить/переименовать поле, вызывающее циклическую ссылку

Если поля необходимы для связывания, объедините поля в таблицах с помощью &'_'&

Это зависит от того, как вы хотите организовать свои данные, но для начала мне кажется, что класс и пол могут быть удалены из таблицы фактов о зачислении для начала, поскольку это распространяется на учащегося.

person Chris J    schedule 14.10.2016
comment
Я устал добавлять все идентификаторы таблицы в таблицу ссылок, объединяя их с помощью &'_'&, потому что они нужны мне в качестве фильтра в моем приложении Sense, но проблема все еще не решена. Я не мог этого понять. Например, если я хочу отфильтровать по поле_id в таблице регистрации, это не сработает. Я не знаю, как я могу это решить. Спасибо. - person ciao_jo; 15.10.2016