2016-10-13 2 views
0

この投稿(Handling multiple fact tables in Qlikview)でファクトテーブルを解決しました。しかし、エンティティテーブルに問題があります。私は学校のテーブルとgenederテーブルとの関係を持っている学生テーブルを追加した例ではQlikview/QlikSenseの共通フィールドを持つ複数のファクトおよび複数エンティティテーブル(MySQL)の処理

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)  | 

:私は私の問題を説明するために、このポスト(Handling multiple fact tables in Qlikview)の例を使用します。

私の問題:

私はその後、私はQlik意味で私のSQLテーブルをロードし、手順に従いました。私はまた、(student_id、gender_id、...)のようないくつかのフィルタを持つtest_scores_faceテーブルのレポートを作成しました。 student_idというフィルタを選択したときにレポートがフィルタできないという問題はありますか?私はエンティティテーブル(school_code、geneder_idなど)に共通のフィールドがあるので、エンティティテーブル(学校、ジェンダー、学生)の問題だと思います。これらの共通のフィールドは循環参照を生成します。

これらの循環参照を避けるには、エンティティテーブルの別のリンクテーブルを作成するか、これらのテーブルをファクトテーブルのリンクテーブルにコレーティングする必要がありますか?私はこれら2つの解決策に疲れましたが、student_idでフィルタリングすることもできません!

どうすればこの問題を解決できますか?

+0

あなたが言及した問題には、数多くの原因が考えられます。フィルタボックス(リストボックス)とチャートが同じ代替状態にあることを確認し、 'test_scores_fact'の共通フィールドの1つがリンクテーブルを介して' student_id'にリンクされていることを確認してください。 'gender_id'のような一般的なフィールドの1つをフィルタリングすることによって、データモデルが正しく設定されていることをテストします。 – bdiamante

+0

問題をよく説明するために投稿を編集しました。私は、これらの共通のフィールドが循環参照を生成するという問題があると思います。 これらの循環参照を避けるためには、エンティティテーブルの別のリンクテーブルを作成するか、これらのテーブルをファクトテーブルのリンクテーブルにコレーティングする必要がありますか?私はこれら2つの解決策に疲れましたが、student_idでフィルタリングすることもできません!どんな助け?ありがとう –

答えて

1

テーブル間のリンクを削除する必要がありますが、手動でスクリプトを編集していると思いますか?

フィールドは、リンクのために必要とされていない場合

  • /削除使用してテーブル内のフィールドを連結し、フィールドをリンクするために必要とされる場合、循環参照を

の原因となっているフィールドの名前を変更&'_'&

あなたのデータをどのように整理したいかによって異なりますが、初めに、グレードと性別が最初に登録ファクトテーブルから削除される可能性があります彼は学生です。

+0

私はSense APPのフィルタとしてそれらを必要としますが、& '_'&beacaseを使用してリンクテーブルにテーブルのすべてのidsを連結することに疲れましたが、問題はまだ解決されません。私はそれを理解できませんでした。たとえば、エントリテーブルのgender_idでフィルタリングしたい場合、それは機能しません。私はどのように私はそれを解決することができますか分からない。ありがとう。 –

関連する問題