Mining Queries
This section provides comprehensive guidance on creating and executing queries against SQL Server Analysis Services (SSAS) data mining models. You will learn how to explore patterns, predict outcomes, and gain insights from your data using various query languages and techniques.
Understanding Mining Queries
Data mining queries are essential for extracting meaningful information from the patterns discovered by mining algorithms. SSAS supports two primary query languages for data mining:
- DMX (Data Mining Extensions): A powerful, SQL-like language specifically designed for querying mining models.
- MDX (Multidimensional Expressions): While primarily used for querying OLAP cubes, MDX can also be used to query data mining results, especially for integrating mining results with cube data.
Common Mining Query Tasks
- Generating Predictions: Use algorithms to predict future outcomes based on existing data.
- Browsing Model Content: Explore the structures and patterns discovered by algorithms, such as decision trees, association rules, or clusters.
- Retrieving Association Rules: Find relationships between items in your dataset.
- Exploring Cluster Membership: Understand how data points are grouped into clusters.
- Querying Nested Tables: Handle complex data structures within your mining models.
DMX Query Examples
Here are some basic examples of DMX queries:
Predicting with a Classifier Model
This query predicts the likelihood of a customer purchasing a product based on a trained classification model.
SELECT EXPECTED_PROBABILITY([IsPurchased],1) AS PurchaseProbability,
[CustomerID]
FROM [CustomerChurnModel].PREDICTION_JOIN([NewCustomerData],NULL)
WHERE [CustomerID] IN ('CUST001','CUST002')
Browsing a Decision Tree
This query retrieves the nodes of a decision tree from a mining model.
SELECT *
FROM [ProductRecommendationModel].TREESTRUCTURE(1,NULL)
MDX Query Examples
While less common for direct mining model querying, MDX can be used to retrieve mining model results, often integrated with cube data.
Integrating Mining Results with Cube Data
This example assumes a mining model result is published as a measure in an Analysis Services cube.
SELECT {[Measures].[MiningModelPrediction]} ON COLUMNS
FROM [YourAnalysisServicesCube]
WHERE ([Product].[Bicycle],[Date].[2023])
Tools for Mining Queries
- SQL Server Management Studio (SSMS): The primary tool for connecting to Analysis Services, authoring DMX queries, and executing them.
- SQL Server Data Tools (SSDT): Used for developing SSAS projects, including creating mining models and deploying them.
- Client Libraries: ADOMD.NET and AMO can be used to programmatically interact with Analysis Services and execute mining queries.