# MDX Essentials: Basic Set Functions: Subset Functions: The Subset() Function

July 12, 2004

This is the twenty-first article of the series, MDX Essentials. The series is designed to provide hands-on application of the fundamentals of the Multidimensional Expressions (MDX) language, with each tutorial progressively adding features designed to meet specific real-world needs.

For more information about the series in general, as well as the software and systems requirements needed for getting the most out of the lessons included, please see the first article, MDX at First Glance: Introduction to MDX Essentials.

Note: Service Pack 3 updates are assumed for MSSQL Server 2000, MSSQL Server 2000 Analysis Services, and the related Books Online and Samples.

### What We Accomplished in our Last Article

In the last article of the series, Subset Functions: The Tail() Function, we continued our group of three articles surrounding functions whose primary purpose is to perform operations on subsets. We introduced the Tail() function, with which we can return a subset from the end of a set. We commented upon the operation of the function, and then examined its syntax. Next, we undertook practice examples with the function, based upon hypothetical business requirements, following the approach we have used throughout the series.

In our practice set, we intentionally replicated the requirements we had simulated in working with the Head() function in the article that preceded it, so as to compare the Tail() and Head() functions, and to note their similarities in operation, as well as to contrast the results datasets they returned. Throughout the practice examples, we briefly discussed the results datasets we obtained with regard to the Tail() function, together with other surrounding considerations.

### Introduction

In this lesson, we will conclude our "triptych" of articles exposing set functions that deal specifically with subsets. As we have noted, each function returns a subset of a larger set, as part of its operation. We began the subset functions articles with an examination of the Head() function, then explored Tail() in the last. As we mentioned in our last session, these three functions have much in common in the context of usage and operation; covering them in close proximity allows us to more finely distinguish among them, as well as to become aware of their similarities, and to better exploit the attributes we can leverage to meet specific business needs.

In this article, we will introduce and overview the Subset() function. The general purpose of the Subset() function is to return a subset of tuples from a specified set. We will first comment upon the operation of Subset(), and then we will:

• Examine the syntax surrounding the function;
• Undertake illustrative examples of the uses of the function in practice exercises;
• Briefly discuss of the results datasets we obtain in the practice examples.