Applicazione di filtri a una tabella nidificata in un modello di data mining (Esercitazione intermedia sul data mining)

 

Si applica a: SQL Server 2016 Preview

Dopo avere creato ed esplorato il modello, si decide che si desidera concentrarsi su un subset dei dati sui clienti. Potrebbe ad esempio essere necessario analizzare solo gli acquisti relativi a uno specifico articolo o analizzare i dati demografici dei clienti che non hanno effettuato acquisti in un determinato periodo.

Analysis Services fornisce la possibilità di filtrare i dati che viene utilizzati in un modello di data mining. Questa funzionalità è utile in quanto non è necessario impostare una nuova vista origine dati per utilizzare dati differenti. Nell'esercitazione di base sul data mining è stato descritto come filtrare i dati da una tabella flat applicando condizioni alla tabella del case. In questa attività verrà creato un filtro che si applica a una tabella nidificata.

Filtra su Nidificato rispetto a tabelle dei case

Se la vista origine dati contiene una tabella del case e una tabella nidificata, come la vista origine dati utilizzata nel modello di associazione, è possibile applicare filtri in base ai valori nella tabella del case, alla presenza o assenza di un valore nella tabella nidificata o a una combinazione di entrambi.

In questa attività verrà innanzitutto creata una copia del modello di associazione, quindi si aggiungeranno gli attributi IncomeGroup e Region al nuovo modello correlato, in modo da applicare filtri in base a tali attributi nella tabella del case.

Per creare e modificare una copia del modello di associazione

  1. Nel modelli di Data Mining scheda SQL Server Data Tools (SSDT), fare doppio clic sul associazione del modello e selezionare nuovo modello di Data Mining.

  2. Per nome modello, tipo Association Filtered. Per nome dell'algoritmo, selezionare Microsoft Association Rules. Scegliere OK.

  3. Nella colonna per il modello Association Filtered, fare clic sulla riga IncomeGroup e modificare il valore da Ignora a Input.

Il passaggio successivo consiste nella creazione di un filtro sulla tabella del case nel nuovo modello di associazione. Il filtro passerà al modello solo i clienti nell'area di destinazione o con il livello di reddito di destinazione. Si aggiungerà quindi un secondo set di condizioni di filtro per specificare che il modello utilizza solo i clienti i cui acquisti contengono almeno un articolo.

Per aggiungere un filtro a un modello di data mining

  1. Nel modelli di Data Mining scheda, fare clic sul modello Association Filtered e selezionare Imposta filtro modello.

  2. Nella finestra di dialogo Filtro modello fare clic sulla riga superiore nella griglia della casella di testo Colonna struttura di data mining .

  3. Nel colonna della struttura di Data Mining casella di testo, selezionare IncomeGroup.

    L'icona a sinistra della casella di testo cambia per indicare che l'elemento selezionato è una colonna.

  4. Fare clic sui operatore casella di testo e selezionare il = operatore dall'elenco.

  5. Fare clic su di valore casella di testo e digitare elevata nella casella.

  6. Fare clic sulla riga successiva nella griglia.

  7. Fare clic sui e/o casella di testo nella riga successiva della griglia e selezionare o.

  8. Nel colonna della struttura di Data Mining casella di testo, selezionare IncomeGroup. Nel valore nella casella di testo moderato.

    La condizione di filtro creata viene automaticamente aggiunto per il espressione casella di testo e dovrebbe essere visualizzata come segue:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'

  9. Fare clic sulla riga successiva nella griglia, mantenendo l'impostazione predefinita, l'operatore AND.

  10. Per operatore, lasciare il valore predefinito, contiene. Fare clic su di valore casella di testo.

  11. Nel filtro la finestra di dialogo, nella prima riga sotto colonna della struttura di Data Mining, selezionare modello.

  12. Per operatore, selezionare IS NOT NULL. Lasciare il valore casella di testo vuoto. Scegliere OK.

    La condizione di filtro nel espressione casella di testo del filtro modello la finestra di dialogo viene automaticamente aggiornata per includere la nuova condizione nella tabella nidificata. L'espressione completa è la seguente:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS SELECT * FROM [vAssocSeqLineItems] WHERE [Model] <> NULL).

  13. Fare clic su OK.``

Per abilitare il drill-through ed elaborare il modello filtrato

  1. Nel modelli di Data Mining scheda, fare doppio clic sui Association Filtered del modello e selezionare proprietà.

  2. Modifica il AllowDrillThrough proprietà True.

  3. Pulsante destro del mouse il Association Filtered modello di data mining e selezionare modello di processo.

  4. Fare clic su nel messaggio di errore per distribuire il nuovo modello per il Analysis Services database.

  5. Nel Elabora struttura di Data Mining la finestra di dialogo, fare clic su eseguire.

  6. Fare clic una volta completata l'elaborazione Chiudi uscire il Stato elaborazione la finestra di dialogo e fare clic su Chiudi per uscire dal Elabora struttura di Data Mining la finestra di dialogo.

È possibile verificare tramite Microsoft Generic Content Tree Viewer e controllando il valore di NODE_SUPPORT che il modello filtrato contenga meno case del modello originale.

Osservazioni

Il filtro della tabella nidificata che è stato creato controlla solo la presenza di almeno una riga nella tabella nidificata, tuttavia è anche possibile creare condizioni di filtro che verifichino la presenza di prodotti specifici. È ad esempio possibile creare il filtro seguente:

[IncomeGroup] = 'High' AND  
 EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] = 'Water Bottle' )   

Questa istruzione indica che i clienti della tabella del case devono essere limitati a quelli che hanno acquistato una bottiglia d'acqua (Water Bottle). Tuttavia, poiché il numero di attributi della tabella nidificata è potenzialmente illimitato, in Analysis Services non viene fornito un elenco di valori possibili da cui effettuare una selezione. È invece necessario digitare il valore esatto.

È possibile fare clic su Modifica Query modificare manualmente l'espressione di filtro. Se tuttavia si modifica manualmente una parte di un'espressione di filtro, la griglia verrà disabilitata e da allora in poi sarà necessario utilizzare l'espressione di filtro solo in modalità di modifica di testo. Per ripristinare la modalità di modifica della griglia, è necessario cancellare l'espressione di filtro e ricominciare.

Avviso


Non è possibile utilizzare l'operatore LIKE nel filtro di una tabella nidificata.

Attività successiva della lezione

Stima delle associazioni ( esercitazione intermedia di Data Mining )

Vedere anche

Sintassi ed esempi di filtri dei modelli (Analysis Services - Data mining)
Filtri per i modelli di data mining (Analysis Services - Data mining)