SUBSTITUTEWITHINDEX
Aplica-se a:Coluna CalculadaTabela CalculadaMedidaCálculo visual
Retorna uma tabela que representa uma semijunção à esquerda das duas tabelas fornecidas como argumentos. A semijunção é executada usando colunas comuns, determinadas por nomes de coluna comuns e tipo de dados comuns. As colunas que estão sendo unidas são substituídas por uma única coluna na tabela retornada, que é do tipo inteiro e contém um índice. O índice é uma referência à tabela de junção à direita, dada uma ordem de classificação especificada.
As colunas na segunda tabela à direita fornecida que não existem na primeira tabela à esquerda fornecida não estão incluídas na tabela retornada e não são usadas para junção.
O índice começa em 0 (baseado em 0) e é incrementado em um para cada linha adicional na segunda tabela de junção à direita fornecida. O índice é baseado na ordem de classificação especificada para a segunda tabela de junção à direita.
Sintaxe
SUBSTITUTEWITHINDEX(<table>, <indexColumnName>, <indexColumnsTable>, [<orderBy_expression>, [<order>][, <orderBy_expression>, [<order>]]…])
Parâmetros
Termo | Definição |
---|---|
tabela | Uma tabela a ser filtrada com a execução de uma semijunção à esquerda com a tabela especificada como o terceiro argumento (indexColumnsTable). Essa é a tabela no lado esquerdo da semijunção à esquerda, de modo que a tabela retornada inclui as mesmas colunas que essa tabela, exceto que todas as colunas comuns das duas tabelas serão substituídas por uma única coluna de índice na tabela retornada. |
indexColumnName | Uma cadeia de caracteres que especifica o nome da coluna de índice que está substituindo todas as colunas comuns nas duas tabelas fornecidas como argumentos para essa função. |
indexColumnsTable | A segunda tabela para a semijunção à esquerda. Esta é a tabela no lado direito da semijunção à esquerda. Somente os valores presentes nesta tabela serão retornados pela função. Além disso, as colunas desta tabela (com base em nomes de coluna) serão substituídas por uma única coluna de índice na tabela retornada por essa função. |
orderBy_expression | Qualquer expressão DAX em que o valor de resultado é usado para especificar a ordem de classificação desejada da tabela indexColumnsTable para gerar valores de índice corretos. A ordem de classificação especificada para a tabela indexColumnsTable define o índice de cada linha na tabela e esse índice é usado na tabela retornada para representar combinações de valores no indexColumnsTable conforme eles aparecem na tabela fornecida como o primeiro argumento para essa função. |
ordem | (Opcional) Um valor que especifica como classificar valores orderBy_expression em ordem crescente ou decrescente: Valor: Desc. Valor alternativo: 0(zero)/FALSE. Classifica em ordem decrescente de valores de orderBy_expression. É o valor padrão quando o parâmetro order é omitido. Valor: ASC. Valor alternativo: 1/TRUE. Classifica em ordem crescente de orderBy_expression. |
Retornar valor
Uma tabela que inclui apenas esses valores presentes na tabela indexColumnsTable e que tem uma coluna de índice em vez de todas as colunas presentes (por nome) na tabela indexColumnsTable.
Comentários
Essa função não garante nenhuma ordem de classificação de resultado.
Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.