お問い合わせ
1 分で読むことができます。

QlikViewでループ構造を回避する方法【循環参照】

執筆者 Deck 更新日時 2014年5月13日

QlikViewでループ構造を回避する方法【循環参照】

目次

QlikViewでループ構造を回避する方法

 

QlikView(クリックビュー)では、3 つ以上のテーブルの間でキーが重複する場合、循環参照が作成されます。

循環参照を実行すると延々と計算を実行してしまい、パフォーマンスに影響を及ぼす恐れがあります。

そのためQlikView(クリックビュー)は循環参照を避けるため 1 つ以上のテーブルを疎結合に設定します。

この場合、スクリプトをリロードすると警告ダイアログが表示されてしまいます。

今回は循環参照を解消する方法をご紹介します。

 

データ

以下のようなデータを用意します。

『city』のデータには『国名』・『メンバー名』が格納されています。

『country』のデータには『国名』・『国ID』が格納されています。

『member』のデータには『メンバーID』・『メンバー名』が格納されています。

 circular_refarence

 このデータは『国ID』と『メンバーID』に同じ『memberID』と名前がつけられています。

中に格納されているのは違う項目なのに同じ名前を使ってしまうのはあまり良いデータとはいえません。

このデータをロードスクリプトで読み込んでみましょう。

 

ロードスクリプト

ロードスクリプトの編集ウインドウを開きます。

リロードすると以下のような警告が表示されます。

1.【OKボタン】を押します。

 circular_refarence2

 

テーブルビューアー

どのように参照されているか確認してみましょう。

テーブルビューアーを開きます。

circular_refarence3

『member』と『country』がそれぞれ疎結合になっています。

また、【ドキュメントプロパティ】の【テーブル】タブからも疎結合を確認することができます。

 

それでは、この循環参照を解消していきましょう。

まず、先ほど確認した『memberID』を別の名前に変更します。

ロードスクリプトの編集ウインドウを開きましょう。

1.重複している項目名を以下のように書き換えます。

項目country:LOAD memberID as countryID

2.【リロードボタン】を押します。

 

 circular_refarence4

 

リロードしても警告が表示されません。

 

テーブルビューアー

テーブルビューアー画面を開きます。

circular_refarence5

循環参照が解消されているのが確認できます。

Qlikで使えるloadscript(ロードスクリプト)一覧はこちら

 

 

QlikViewを体験してみませんか?

INSIGHT LABではQlik紹介セミナーを定期開催しています。QlikViewとQlik Senseの簡単な製品概要から、Qlikの特性である「連想技術」のご紹介、デモを通してQlikViewとQlik Senseの操作感や美しいインターフェースをご覧いただきます。企業の大切な資産である膨大なデータからビジネスを発見する 「Business Discovery」を是非ご体験ください。

詳細はこちら

Deck

執筆者 Deck

BIスペシャリスト

2 分で読むことができます。

QlikView 関数 まとめ一覧【重要関数大全】

2 分で読むことができます。

【QlikView/Qlik Sense】Set分析でCount関数を使う方法