La función SAMPLE devuelve una muestra de N filas de la tabla especificada.
SAMPLE(
n_value,
table,
orderBy_expression
[, order [, orderBy_expression [,order...]]]
)
- n_value: Número de filas a extraer. Puede ser cualquier expresión DAX que devuelva un escalar.
- table: Tabla o expresión DAX que devuelva una tabla de la que extraer la muestra.
- orderBy_expression: (Argumento obligatorio en Power BI a pesar de la documentación de Microsoft) Expresión DAX (puede ser un simple campo) que será evaluada para cada fila de la muestra extraída y que determinará el orden de las filas.
- order: (Argumento opcional) Valor que especifica si la ordenación será ascendente o descendente. Puede tomar los valores ASC/DESC, 1/0 o TRUE/FALSE.
La función SAMPLE devuelve una tabla.
La muestra extraída siempre contiene el primer registro, el último, y N-2 registros equiespaciados (es decir, no se trata de una muestra aleatoria).
Si n_value es cero o un número negativo, la tabla resultante estará vacía. Si es 1, se devuelve el primer registro. Si es 2, se devuelve el primero y el último registro. Si n_value es mayor que el número de registros disponibles, se devuelve la tabla original completa.
El resultado se devuelve, por defecto, ordenado de forma descendente.
Partimos de la siguiente tabla ("Data"):
Extraemos 5 registros:
Muestra = SAMPLE(5, Data, Data[Id])
Vemos que, por defecto, la ordenación es descendente. Si especificamos que sea ascendente:
Muestra = SAMPLE(5, Data, Data[Id], ASC)
A partir de la misma tabla, extraemos un único registro:
Muestra = SAMPLE(1, Data, Data[Id], ASC)
Extraemos ahora (o lo intentamos) 20 registros:
Comprobamos que solo se devuelve la tabla inicial.