マイニング モデルへのフィルターの適用
適用対象:SQL Server 2019 以前の Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
重要
データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「Analysis Services 下位互換性」を参照してください。
入れ子になったテーブルがマイニング構造に含まれている場合は、ケース テーブル、入れ子になったテーブル、またはその両方にフィルターを適用できます。
次の手順は、ケース フィルター、入れ子になったテーブル行に適用するフィルターの両方を作成する方法を示しています。
ケース テーブルの条件は、収入が 30000 ~ 40000 である顧客に限定することです。 入れ子になったテーブルの条件は、特定の品目を購入していない顧客に限定することです。
この例で作成された、完全なフィルター条件は次のとおりです。
[Income] > '30000'
AND [Income] < '40000'
AND EXISTS (SELECT * FROM [<nested table name>]
WHERE [Model] <> 'Water Bottle' )
マイニング モデルに対してケース フィルターを作成するには
SQL Server Data Toolsで、ソリューション エクスプローラーで、フィルター処理するマイニング モデルを含むマイニング構造をクリックします。
[マイニング モデル] タブをクリックします。
モデルを選択し、右クリックしてショートカット メニューを開きます。
または
モデルを選択します。 次に、 [マイニング モデル] メニューの [モデル フィルターの設定]をクリックします。
[モデル フィルター] ダイアログ ボックスで、 [マイニング構造列] ボックスのグリッドの先頭行をクリックします。
データ ソースに 1 つのフラット テーブルが含まれる場合、ドロップダウン リストには該当のテーブルの列名のみが表示されます。
マイニング構造に複数のテーブルが含まれる場合、リストにはソース テーブルの名前が示されます。 テーブルを選択するまで列名は表示されません。
マイニング構造にケース テーブルと入れ子になったテーブルが含まれる場合は、ドロップダウン リストにケース テーブルの列、入れ子になったテーブルの名前が表示されます。
ドロップダウン リストから列を選択します。
テキスト ボックスの左側のアイコンが変化して、選択されたアイテムがテーブルであるか列であるかが示されます。
[演算子] ボックスをクリックし、一覧から演算子を選択します。 有効な演算子は、選択した列のデータ型によって変わります。
[値] ボックスをクリックし、ボックスに値を入力します。
たとえば、列として [Income]\(収入 \) を選択し、greater than 演算子 (>) を選択し、「 30000」と入力します。
グリッドの次の行をクリックします。
作成したフィルター条件が [式] ボックスに自動的に追加されます。 たとえば、
[Income] > '30000'
のように指定します。グリッドの次の行の [ルールの適用条件] ボックスをクリックし、条件を追加します。
たとえば、BETWEEN 条件を作成するには、論理演算子のドロップダウン リストから [AND] を選択します。
演算子を選択し、手順 7. と手順 8. に示したように値を入力します。
たとえば、もう一度列として [Income ] を選択し、less than 演算子 (<) を選択し、「 40000」と入力します。
グリッドの次の行をクリックします。
[式] ボックスのフィルター条件が自動的に更新され、新しい条件が追加されます。 完成した式は次のようになります。
[Income] > '30000'AND [Income] < '40000'
マイニング モデルの入れ子になったテーブルにフィルターを追加するには
<>[モデル フィルター] ダイアログ ボックスで、グリッドの [マイニング構造列] の下にある空の行をクリックします。
ドロップダウン リストから、入れ子になったテーブルの名前を選択します。
テキスト ボックスの左側のアイコンが変化して、選択されたアイテムがテーブルの名前であることが示されます。
[演算子] ボックスをクリックし、 [次の値を含む] または [次の値を含まない]を選択します。
ケース テーブルでは入れ子になったテーブルの特定の値を含むケースのみに制限しているため、 [モデル フィルター] ダイアログ ボックスで入れ子になったテーブルに対して選択できる条件はこれだけです。 次の手順で入れ子になったテーブルの条件に値を設定します。
[ 値 ] ボックスをクリックし、 (...) ボタンをクリックして式を作成します。
[<フィルター] ダイアログ ボックスが>開きます。 このダイアログ ボックスでは、現在のテーブルにのみ条件を設定できます。ここでは、入れ子になったテーブルです。
[マイニング構造列] ボックスをクリックし、入れ子になったテーブル列のドロップダウン リストから列名を選択します。
[演算子] をクリックし、列に対して有効な演算子の一覧から演算子を選択します。
[値] をクリックし、値を入力します。
たとえば、 [マイニング構造列] には、 [モデル]を選択します。 [演算子]には、 <>を選択し、「 Water Bottle」という値を入力します。 この条件で次のフィルター式が作成されます。
EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] <> 'Water Bottle' )
注意
入れ子になったテーブル属性の数は無制限になる可能性があるため、SQL Server Analysis Servicesでは選択できる値の一覧は提供されません。 値を正確に入力する必要があります。 また、入れ子になったテーブルに LIKE 演算子を使用することはできません。
必要に応じて、さらに条件を追加します。 [条件] グリッドの左側にある [ルールの適用条件] ボックスで AND または OR を選択して、条件を結合します。 [OK] をクリックします。
[モデル フィルター] ダイアログ ボックスで、 [フィルター] ダイアログ ボックスを使用して作成した条件を確認します。 入れ子になったテーブルの条件は、ケース テーブルの条件に追加され、フィルター条件の完全なセットは [式] ボックスに表示されます。
必要に応じて、 [クエリの編集] をクリックして、フィルター式を手動で変更できます。
注意
フィルター式の一部を手動で変更すると、グリッドが無効になり、その後はテキスト編集モードでしかフィルター式を操作できなくなります。 グリッド編集モードに戻すには、フィルター式を消去して最初からやり直す必要があります。
参照
マイニング モデルのフィルター選択 (Analysis Services - データ マイニング)
マイニング モデル タスクと操作方法
マイニング モデルからのフィルターの削除
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示