Eventos
Únase a nosotros en FabCon Vegas
31 mar, 23 - 2 abr, 23
El último evento dirigido por la comunidad de Microsoft Fabric, Power BI, SQL y AI. 31 de marzo al 2 de abril de 2025.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a:columna CalculadaTabla calculadaMeasurecálculo visual
Devuelve una sola fila que se coloca antes de or después de la fila actual dentro de la misma tabla, mediante un offsetdeterminado . If la fila actual no se puede deducir a una sola fila, se pueden devolver varias filas.
OFFSET ( <delta>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Término | Definición |
---|---|
delta |
Número de filas anteriores (valuenegativas) or después (valuepositiva) la fila actual desde la que obtener los datos. Puede ser cualquier expresión DAX que devuelva un valueescalar. |
relation |
(Opcional) Expresión de tabla desde la que se devuelve la fila de salida.
If especificado, all columnas de partitionBy deben proceder de ella or una tabla de related.
If omitido: - orderBy debe especificarse explícitamente.: las expresiones de All orderBy andpartitionBy deben ser nombres de columna completos and provengan de una sola tabla.
: el valor predeterminado es ALLSELECTED() de all columnas de orderBy andpartitionBy . |
axis |
(Opcional) Eje de la forma visual. Disponible solo en cálculos visuales, and reemplaza relation . |
orderBy |
(Opcional) Una cláusula ORDERBY() que contiene las expresiones 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.
Este parámetro está reservado para uso futuro. Actualmente, el único value admitido es DEFAULT , donde se ordena el comportamiento de los valuesblankvalues numéricos entre cero and negativo values. El comportamiento de las cadenas es blankvalues se ordenan antes de all cadenas, incluidas las cadenas vacías. |
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. |
Una or más filas de relation
.
Except para las columnas agregadas por DAX funciones de tabla, cada columna de relation
, cuando matchBy
está not presente, or cada columna de matchBy
andpartitionBy
, cuando matchBy
está presente, debe tener una value externa correspondiente para ayudar a define la fila actual en la que operar, con el siguiente comportamiento:
If
all de las columnas de relation
se agregaron mediante DAX funciones de tabla, se devuelve un error.
If
matchBy
está presente, OFFSET intentará usar matchBy
andpartitionBy
columnas para identificar la fila.
If
matchBy
está not presente and las columnas especificadas en orderBy
andpartitionBy
no pueden identificar de forma única todas las filas de relation
y, a continuación, :
orderBy
, and cada partición se ordena mediante este nuevo conjunto de columnas de OrderBy.Se devuelve una tabla vacía if:
relation
.delta
value provoca un desplazamiento a una fila que not existe dentro de la partición.
If
OFFSET se usa dentro de una columna calculada definida en la misma tabla que relation
, andorderBy
se omite, 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
.
La siguiente consulta DAX:
DEFINE
VAR vRelation = SUMMARIZECOLUMNS (
DimProductCategory[EnglishProductCategoryName],
DimDate[CalendarYear],
"CurrentYearSales", SUM(FactInternetSales[SalesAmount])
)
EVALUATE
ADDCOLUMNS (
vRelation,
"PreviousYearSales",
SELECTCOLUMNS(
OFFSET (
-1,
vRelation,
ORDERBY([CalendarYear]),
PARTITIONBY([EnglishProductCategoryName])
),
[CurrentYearSales]
)
)
Devuelve una tabla que resume las ventas totales de cada categoría productandcalendaryear, así como las ventas totales de esa categoría en el previousyear.
La siguiente consulta DAX:
DEFINE
MEASURE DimProduct[CurrentYearSales] = SUM(FactInternetSales[SalesAmount])
MEASURE DimProduct[PreviousYearSales] = CALCULATE(SUM(FactInternetSales[SalesAmount]), OFFSET(-1, , ORDERBY(DimDate[CalendarYear])))
EVALUATE
SUMMARIZECOLUMNS (
DimDate[CalendarYear],
"CurrentYearSales", DimProduct[CurrentYearSales],
"PreviousYearSales", DimProduct[PreviousYearSales]
)
Usa OFFSET() en un measure para devolver una tabla que resume las ventas totales de cada calendaryearand las ventas totales de la previousyear.
La siguiente consulta DAX:
EVALUATE
ADDCOLUMNS (
FactInternetSales,
"Previous Sales Amount",
SELECTCOLUMNS (
OFFSET (
-1,
FactInternetSales,
ORDERBY ( FactInternetSales[SalesAmount], DESC ),
PARTITIONBY ( FactInternetSales[ProductKey] ),
MATCHBY( FactInternetSales[SalesOrderNumber], FactInternetSales[SalesOrderLineNumber] )
),
FactInternetSales[SalesAmount]
)
)
Devuelve la tabla FactInternetSales con la adición de una columna, que indica, para cada venta, su cantidad de venta previous, de la misma product, en orden descendente de la cantidad de ventas, con la venta actual identificada por su SalesOrderNumber and SalesOrderLineNumber. Sin MATCHBY, la consulta devolvería un error, ya que no hay ninguna columna de clave en la tabla FactInternetSales.
El siguiente cálculo visual DAX consulta:
SalesRelativeToPreviousMonth = [SalesAmount] - CALCULATE(SUM([SalesAmount]), OFFSET(-1, ROWS, HIGHESTPARENT))
Devuelve la diferencia en las ventas totales entre cada monthand el previous uno dentro de la misma year.
En la captura de pantalla siguiente se muestra la matriz visual and la expresión de cálculo visual:
de cálculo visual
Eventos
Únase a nosotros en FabCon Vegas
31 mar, 23 - 2 abr, 23
El último evento dirigido por la comunidad de Microsoft Fabric, Power BI, SQL y AI. 31 de marzo al 2 de abril de 2025.
Regístrate hoy