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 calculada
tabela calculada
Measure
cálculo visual
Especifica a direção de filtragem cruzada a ser usada em um cálculo para uma relação que existe entre duas colunas.
CROSSFILTER(<columnName1>, <columnName2>, <direction>)
Prazo | Definição |
---|---|
columnName1 |
O nome de uma coluna existente, usando a sintaxe de DAX padrão and totalmente qualificado, que geralmente representa o lado muitos da relação a ser usada; if os argumentos forem fornecidos na ordem inversa, a função os trocará antes de usá-los. Esse argumento não pode ser uma expressão. |
columnName2 |
O nome de uma coluna existente, usando a sintaxe DAX padrão and totalmente qualificado, que geralmente representa o lado or lado da relação a ser usada; if os argumentos forem fornecidos na ordem inversa, a função os trocará antes de usá-los. Esse argumento não pode ser uma expressão. |
Direction |
A direção entrefilter a ser usada. Deve ser um dos seguintes:None - Nenhuma filtragem cruzada ocorre ao longo dessa relação.Both - Filters de ambos os lados filters outro lado.OneWay - Filters de um lado or o lado da pesquisa de uma relação filter o outro lado. Essa opção não pode ser usada com uma relação um-para-um. Não use essa opção em uma relação muitos para muitos porque não está claro qual lado é o lado da pesquisa; em vez disso, use OneWay_LeftFiltersRight or OneWay_RightFiltersLeft.OneWay_LeftFiltersRight - Filters ao lado do columnName1 filter lado do columnName2 . Essa opção não pode ser usada com uma relação um-para-um or muitos para um.OneWay_RightFiltersLeft - Filters ao lado do columnName2 filter lado do columnName1 . Essa opção não pode ser usada com uma relação um-para-um or muitos para um. |
A função não retorna value; a função define apenas a direção de filtragem cruzada para a relação indicada, para o duration da consulta.
No caso de uma relação 1:1, não há diferença entre uma and ambas as direções.
CROSSFILTER só pode ser usado em funções que tomam um filter como argumento, por exemplo: funções CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTDandTOTALYTD.
CROSSFILTER usa relações existentes no modelo, identificando relações por suas colunas de ponto final.
Em CROSSFILTER, a configuração de filtragem cruzada de uma relação é not importante; ou seja, se a relação está definida como filter uma, or ambas as direções no modelo not afetar o uso da função. CROSSFILTER substituirá qualquer configuração de filtragem cruzada existente.
Um error é retornado if qualquer uma das colunas nomeadas como argumento é not parte de uma relação or os argumentos pertencem a relações diferentes.
If CALCULATE expressões são aninhadas, and mais de uma expressão CALCULATEcontains uma função CROSSFILTER, então a CROSSFILTER mais interna é aquela que prevalece no caso de um conflito or ambiguidade.
Essa função not tem suporte para uso no modo DirectQuery quando usada em colunas calculadas or regras de RLS (segurança em nível de linha).
No diagrama de modelo a seguir, tanto DimProduct and DimDate têm uma relação de direção única com FactInternetSales.
Por padrão, não é possível obter o Count de Produtos vendidos por year:
Há duas maneiras de obter o count de produtos year:
Ative a filtragem cruzada bidirecional na relação. Isso alterará a forma como filters funcionam para all dados entre essas duas tabelas.
Use a função CROSSFILTER para alterar como as relações funcionam apenas para esse measure.
Ao usar DAX, podemos usar a função CROSSFILTER para alterar como a direção entrefilter se comporta entre duas colunas definidas por uma relação. Nesse caso, a expressão DAX tem esta aparência:
BiDi:= CALCULATE([Distinct Count of ProductKey], CROSSFILTER(FactInternetSales[ProductKey], DimProduct[ProductKey] , Both))
Usando a função CROSSFILTER em nossa expressão measure, obtemos os resultados esperados:
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