Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

構成テーブルを持つ場合の疎結合の回避方法について

お世話になります。

タイトルの件ですがQlikViewでのデータ取り込みについてお教えください。

下図のような構成テーブルを挟むDBの取り込みを考えています。

<<テーブルの構成>>

1.伝票⇒月ごとの製品の売れた数

2.構成⇒1製品に対する複数部品の構成を示すテーブル

3.単価⇒月ごとの部品の単価

※製品を特定すると、それを構成する部品が絞り込まれ製品の単価が出てくるというものです。

これらを取り込むと、循環するため疎結合となってしまいます。

テーブルビューア.JPG

今後の管理上(メンテナンス含め)のことも考え、疎結合がある状態は避けたいと考えています。

時間をかけて考えてみたのですが、答えが出ず。

この問題の回避策をご存知の方、恐れ入りますがぜひお知恵をお貸しください。

よろしくお願いいたします。

Labels (1)
1 Solution

Accepted Solutions
Not applicable
Author

単価Sテーブルに構成Sの「製品」列をつけてやればいいと思います。

無題.jpg

伝票S:
LOAD * INLINE [
    製品, 月, 数量
    1, 1, 1
];

//構成S:
//LOAD * INLINE [
//    製品, 部品
//    1, a
//];

単価S:
LOAD * INLINE [
    部品, 月, 単価
    1, 1, 1
];
Left Join LOAD * INLINE [
    製品, 部品
    1, a
];

View solution in original post

5 Replies
Not applicable
Author

単価Sテーブルに構成Sの「製品」列をつけてやればいいと思います。

無題.jpg

伝票S:
LOAD * INLINE [
    製品, 月, 数量
    1, 1, 1
];

//構成S:
//LOAD * INLINE [
//    製品, 部品
//    1, a
//];

単価S:
LOAD * INLINE [
    部品, 月, 単価
    1, 1, 1
];
Left Join LOAD * INLINE [
    製品, 部品
    1, a
];

Not applicable
Author

単価Sテーブルに構成Sの「製品」列をつけてやればいいと思います。

無題.jpg

伝票S:
LOAD * INLINE [
    製品, 月, 数量
    1, 1, 1
];

//構成S:
//LOAD * INLINE [
//    製品, 部品
//    1, a
//];

単価S:
LOAD * INLINE [
    部品, 月, 単価
    1, 1, 1
];
Left Join LOAD * INLINE [
    製品, 部品
    1, a
];

hka
Employee
Employee

補足です。

Furukawaさんの方法でもちろん正解ですが、合成キーをなくすためにも全部結合させてもいいかもしれません。

そうすると単価と数量が同じテーブル内に収まるので、データ量が増えたときに合成キーがある時より

パフォーマンスが良くなります。

Not applicable
Author

Jun Furukawaさま

ご回答いただきありがとうございました。

構成テーブルと、単価のテーブルをまとめる方法をとるようにいたしました。

元のテーブル構成を意識しすぎており、なかなか結合するという方法に踏み出せませんでした。

詳細な例示も頂き助かりました。

また、よろしくお願いします。

Not applicable
Author

hka さま

補足ありがとうございました。

現状少量データのためひとまず2テーブルで構成するようにしました。

(データ量が増えると1テーブルにまとめざるを得ないと考えています。)

1つのテーブルにまとめると、テーブルビューアで見たときなど

一見して何のテーブルかわからないということもあり、もとのデータソースの構成を

払拭できずにいました。

この機会に、QV上で扱うデータの最適化についても慣れておこうと思います。

またよろしくお願いします。