ROWNUMBER
Se aplica a:columna CalculadaTabla calculadaMeasurecálculo visual
Devuelve la clasificación única del contexto actual dentro de la partición especificada ordenada según lo especificado. If no se puede encontrar una coincidencia, rownumber se blank.
Sintaxis
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parámetros
Término | Definición |
---|---|
relation |
(Opcional) Expresión de tabla desde la que se devuelve la fila de salida.
If especificado, all columnas de orderBy andpartitionBy deben proceder de ella.
If omitido: - orderBy debe especificarse explícitamente.: las columnas de All orderBy andpartitionBy deben estar completas and provengan de una sola tabla.
: el valor predeterminado es ALLSELECTED() de all columnas de orderBy andpartitionBy . |
axis |
(Opcional) Un eje en la forma visual. Disponible solo en cálculos visuales, and reemplaza relation . |
orderBy |
(Opcional) Una cláusula ORDERBY() que contiene las columnas que define cómo se ordena cada partición.
If omitido: - relation debe especificarse explícitamente.
: el valor predeterminado es ordenar por cada columna de relation que ya está not especificado en partitionBy . |
blanks |
(Opcional) Enumeración que define cómo controlar blankvalues al ordenar.
los values admitidos son:
Nota, cuando blanks parámetro and espacios en blanco en ORDERBY() función en expresión individual se especifican, blanks en una expresión orderBy individual tiene prioridad para la expresión orderBy pertinente, andorderBy expresiones sin blanks especificarse respetarán blanks parámetro en la función principal Window. |
partitionBy |
(Opcional) Cláusula PARTITIONBY() que contiene las columnas que define cómo se particionan relation .
If omitido, relation se trata como una sola partición. |
matchBy |
(Opcional) Una cláusula MATCHBY() que contiene las columnas que define cómo hacer coincidir los datos and identificar la fila actual. |
reset |
(Opcional) Solo está disponible en cálculos visuales. Indica if se restablece el cálculo, and en qué nivel de la jerarquía de columnas de la forma visual. Los values aceptados son: NONE , LOWESTPARENT , HIGHESTPARENT , or un entero. El comportamiento depende del signentero: : If cero or omitido, el cálculo not restablece. Equivalente a NONE .
: If positivo, el entero identifica la columna a partir de la más alta, independiente del grano. HIGHESTPARENT equivale a 1.
: If negativo, el entero identifica la columna a partir del más bajo, en relación con el grano actual. LOWESTPARENT equivale a -1. |
Devolver value
Número rownumber para el contexto actual.
Observaciones
Cada orderBy
, partitionBy
, andmatchBy
columna debe tener un value externo correspondiente para ayudar a define la fila actual en la que se va a operar, con el siguiente comportamiento:
- If hay exactamente una columna externa correspondiente, se usa su value.
-
If no hay ninguna columna externa correspondiente, a continuación:
-
ROWNUMBER
first determinar all
orderBy
,partitionBy
andmatchBy
columnas que no tienen ninguna columna externa correspondiente. - Para cada combinación de values existentes para estas columnas en ROWNUMBER contexto primario, ROWNUMBER se evalúa and se devuelve una fila.
- ROWNUMBERsalida final es un union de estas filas.
-
ROWNUMBER
first determinar all
- If hay más de una columna externa correspondiente, se devuelve un error.
If
matchBy
está presente, ROWNUMBER intentará usar columnas en matchBy
andpartitionBy
para idenfity la fila actual.
If las columnas especificadas en orderBy
andpartitionBy
no pueden identificar de forma única todas las filas de relation
, a continuación:
- ROWNUMBER intentará find el menor número de columnas adicionales necesarias para identificar de forma única cada fila.
-
If se pueden encontrar estas columnas, ROWNUMBER
- Intente find el menor número de columnas adicionales necesarias para identificar de forma única cada fila.
- Anexe automáticamente estas nuevas columnas a
orderBy
cláusula. - Ordene cada partición con este nuevo conjunto de columnas de orderBy.
- If estas columnas no se encuentran and la función detecta un vínculo en tiempo de ejecución, se devuelve un error.
reset
solo se pueden usar en cálculos visuales, and no se pueden usar en combinación con orderBy
orpartitionBy
.
If
reset
está presente, se pueden especificar axis
, pero no relation
.
Ejemplo 1: columna calculada
La siguiente consulta DAX:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"UniqueRank",
ROWNUMBER(
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Devuelve una tabla que clasifica de forma única cada geografía con el mismo englishCountryRegionName, por su StateProvinceName and City.
Ejemplo 2: cálculo visual
El siguiente cálculo visual DAX consultas:
SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))
Cree dos columnas que rank de forma única cada month por el total de ventas, ambas dentro de cada year, and todo el historial.
En la captura de pantalla siguiente se muestra la matriz visual and la expresión de cálculo visual first:
de cálculo visual