SSAS とデータ マイニング、特に Microsoft Clustering パッケージで問題が発生しています。
最終的には AMO と MDX で作業を行うつもりですが、今のところ、Visual Studio を介して BIDS でどのように機能するかを理解できてうれしく思います。一歩ずつ!
全体の問題は、垂直に編成されたテーブルから「垂直」と「水平」の両方で (別々に) クラスター化することです。OLTP データベースのメイン ソース データ テーブルは次のようになります =>
ID_NUM {数値 1 ~ 20,000}
TECK_ID {番号 1 ~ 500、{ID_NUM ごと}} (ただし、スクリーン キャプチャのデータをいじるためにこれらのいくつかを取得しました)
TECK_VALUE {ダブル、「事実」ビット}
つまり、2 つの int と 1 つの double の 1,000 万行。
このように見えます- http://i.imgur.com/KG1LhaJ.jpg
そこで、Visual Studio で新しい Analysis Services プロジェクトを作成し、データ ソースを設定して、上記のテーブルと 2 つの "ディメンション テーブル" (id_num の ID、各 teck_id の名前) をデータに取り込みます。ソースを表示してリンクし、適切なキーを一致させます。
これは次のようになります- http://i.imgur.com/Q0vgwIc.jpg
次に、データの表現方法を操作したいので、このデータ ソース ビューからキューブをセットアップします。2 つの「ディメンション」テーブル (上記の「id_num」主キー 1 つと「teck_id」主キー 1 つ) に基づいてディメンションを作成し、メイン テーブルから teck_value 列の単一のメジャー (合計として) を作成します。これはすべて正常にコンパイルされたようです。
これは次のようになります- http://i.imgur.com/y5pUSjh.jpg
すべてがうまくいっていると思う理由は、キューブをブラウズすることで自分のデータを好きなように配置できるからです。「行」を id_num または「teck_id」の両方として定義し、もう一方が列を埋めることができます。メジャー "Teck_value" は、常にテーブルのデータセットを構成します。これはまさに私が望んでいた方法であり、データを双方向に配置できる柔軟性です。
このように見えます- http://i.imgur.com/ugLUkgg.jpg そしてこれ- http://i.imgur.com/RwQgj58.jpg
美しい!今、私はこれに基づいていくつかのマイニングをしたいと思っています! 私は、非常に単純に、Microsoft Clustering を (個別に) 使用したいと考えています。
- 各 TECK_ID に、各 ID_NUM でどのように変化するかに基づいてクラスター番号を割り当てます
- 各 TECK_ID でどのように変化するかに基づいて、各 ID_NUM にクラスターを割り当てます
一見単純な要件 - 「行」として表されるものと「列」として表されるものを変更するだけ - キューブブラウザを介してすでに実行できるようです。これは、知識のない私の観点から見ると、OLTP ではなく OLAP の主なポイントの 1 つに思えます。
しかし、これを設定しようとすると、完全に失敗します!
Clustering Wizard は私を当惑させ、ナンセンスな結果を思いつきます。キーを選択するオプション (上記のいずれかを選択できます) が与えられますが、他の次元で解析するオプションはありません。確かに、私が採掘するために選択できるのは TECK_VALUE だけです。これは、異なるフィールドを分離していないため、あまり役に立ちません!
私のウィザードは次のようになります- http://i.imgur.com/lHfasv0.jpg
だから、私はピクルスに残されています。1) TECK_ID を分類しようとすると、20,000 列になることを意味するため、前に戻って OLTP データベースを水平に並べる必要はありません。2) SSAS と OLAP によって、必要なフィールドをマイニングするために必要な柔軟性が得られることを期待していました。キューブを設定する理由の一部ではありませんか?
AMO/MDX側も手伝ってくれてボーナスポイント!:)