Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual
Retorna uma única linha que é posicionada antes de or após a linha atual dentro da mesma tabela, por um determinado offset. If a linha atual não pode ser deduzida para uma única linha, várias linhas podem ser retornadas.
OFFSET ( <delta>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Prazo | Definição |
---|---|
delta |
O número de linhas anteriores (valuenegativo) or após (valuepositivo) a linha atual da qual obter os dados. Pode ser qualquer expressão DAX que retorna um valueescalar. |
relation |
(Opcional) Uma expressão de tabela da qual a linha de saída é retornada.
If especificada, all colunas em partitionBy devem vir dela or uma tabela related.
If omitido: - orderBy deve ser explicitamente especificado.– expressões All orderBy andpartitionBy devem ser nomes de coluna totalmente qualificados and provenientes de uma única tabela.
– O padrão é ALLSELECTED() de colunas all em orderBy andpartitionBy . |
axis |
(Opcional) Um eixo na forma visual. Disponível somente em cálculos visuais, and substitui relation . |
orderBy |
(Opcional) Uma cláusula ORDERBY() que contém as expressões que define como cada partição é classificada.
If omitido: - relation deve ser explicitamente especificado.
– O padrão é ordenar por cada coluna em relation que já está not especificada em partitionBy . |
blanks |
(Opcional) Uma enumeração que define como lidar com blankvalues ao classificar.
Esse parâmetro é reservado para uso futuro. Atualmente, o único value com suporte é DEFAULT , em que o comportamento do values numérico é blankvalues é ordenado entre zero andvaluesnegativo. O comportamento das cadeias de caracteres é blankvalues são ordenados antes de all cadeias de caracteres, incluindo cadeias de caracteres vazias. |
partitionBy |
(Opcional) Uma cláusula PARTITIONBY() que contém as colunas que define como relation é particionada.
If omitido, relation é tratado como uma única partição. |
matchBy |
(Opcional) Uma cláusula MATCHBY() que contém as colunas que define como corresponder dados and identificar a linha atual. |
reset |
(Opcional) Disponível somente em cálculos visuais. Indica if as redefinições de cálculo, and em qual nível da hierarquia de colunas da forma visual. Os values aceitos são: NONE , LOWESTPARENT , HIGHESTPARENT , or um inteiro. O comportamento depende do inteiro sign: - If zero or omitido, o cálculo not redefinição. Equivalente a NONE .
- If positivo, o inteiro identifica a coluna a partir da mais alta, independentemente da granulação. HIGHESTPARENT é equivalente a 1.
- If negativo, o inteiro identifica a coluna a partir do menor, em relação ao grão atual. LOWESTPARENT é equivalente a -1. |
Uma or mais linhas de relation
.
Except para colunas adicionadas por funções de tabela DAX, cada coluna em relation
, quando matchBy
estiver not presente, or cada coluna no matchBy
andpartitionBy
, quando matchBy
estiver presente, deverá ter uma value externa correspondente para ajudar a define linha atual na qual operar, com o seguinte comportamento:
If
all das colunas de relation
foram adicionadas por funções de tabela DAX, um error é retornado.
If
matchBy
estiver presente, OFFSET tentará usar matchBy
andpartitionBy
colunas para identificar a linha.
If
matchBy
está not presente and as colunas especificadas em orderBy
andpartitionBy
não podem identificar exclusivamente todas as linhas em relation
; em seguida:
orderBy
, and cada partição for classificada usando esse novo conjunto de colunas de OrderBy.Uma tabela vazia é retornada if:
relation
.delta
value causa uma mudança para uma linha que not existe dentro da partição.
If
OFFSET é usado em uma coluna calculada definida na mesma tabela que relation
, andorderBy
é omitida, um error é retornado.
reset
pode ser usado somente em cálculos visuais, and não pode ser usado em combinação com orderBy
orpartitionBy
.
If
reset
está presente, axis
pode ser especificado, mas relation
não.
A seguinte 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]
)
)
Retorna uma tabela que resume o total de vendas para cada product categoria andcalendaryear, bem como o total de vendas para essa categoria no previousyear.
A seguinte 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() em um measure para retornar uma tabela que resume o total de vendas para cada calendaryearand o total de vendas para o previousyear.
A seguinte 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]
)
)
Retorna a tabela FactInternetSales com a adição de uma coluna, que indica, para cada venda, o valor de sua venda previous, do mesmo product, em ordem decrescente do valor de vendas, com a venda atual sendo identificada por seu SalesOrderNumber and SalesOrderLineNumber. Sem MATCHBY, a consulta retornaria um error, pois não há colunas-chave na tabela FactInternetSales.
O seguinte cálculo visual DAX consulta:
SalesRelativeToPreviousMonth = [SalesAmount] - CALCULATE(SUM([SalesAmount]), OFFSET(-1, ROWS, HIGHESTPARENT))
Retorna a diferença no total de vendas entre cada monthand o previous um dentro do mesmo year.
A captura de tela abaixo mostra a matriz visual and a expressão de cálculo visual:
de cálculo visual
Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmo