This documentation is archived and is not being maintained.

SAMPLE Function (DAX)

SQL Server 2012

Returns a sample of N rows from the specified table.

SAMPLE(<n_value>, <table>, <orderBy_expression>, [<order>[, <orderBy_expression>, [<order>]]…])


The number of rows to return. It is any DAX expression that returns a single scalar value, where the expression is to be evaluated multiple times (for each row/context). If a non-integer value (or expression) is entered, the result is cast as an integer.


Any DAX expression that returns a table of data from where to extract the ‘n’ sample rows.


(Optional) Any scalar DAX expression where the result value is evaluated for each row of table.


(Optional) A value that specifies how to sort orderBy_expression values, ascending or descending:


alternate value


0 (zero)


Sorts in descending order of values of order_by.

This is the default value when order parameter is omitted.



Ranks in ascending order of order_by.

A table consisting of a sample of N rows of table or an empty table if n_value is 0 (zero) or less. If OrderBy arguments are provided, the sample will be stable and deterministic, returning the first row, the last row, and evenly distributed rows between them. If no ordering is specified, the sample will be random, not stable, and not deterministic.

  • If n_value is 0 (zero) or less then SAMPLE returns an empty table.

  • In order to avoid duplicate values in the sample, the table provided as the second argument should be grouped by the column used for sorting.