evento
Junte-se a nós na FabCon Vegas
31/03, 23 - 2/04, 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registe-se hoje mesmoEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Aplica-se a:Coluna calculadaTabela calculadaMedidaCá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>)
Vigência | Definição |
---|---|
columnName1 |
O nome de uma coluna existente, usando sintaxe DAX padrão e totalmente qualificada, que geralmente representa os muitos lados da relação a ser usada; Se os argumentos forem dados em ordem inversa, a função irá trocá-los antes de usá-los. Este argumento não pode ser uma expressão. |
columnName2 |
O nome de uma coluna existente, usando sintaxe DAX padrão e totalmente qualificada, que geralmente representa o lado ou o lado de pesquisa da relação a ser usada; Se os argumentos forem dados em ordem inversa, a função irá trocá-los antes de usá-los. Este argumento não pode ser uma expressão. |
Direction |
A direção do filtro cruzado a ser usada. Deve ser uma das seguintes opções:None - Não ocorre filtragem cruzada ao longo desta relação.Both - Filtros de ambos os lados filtram o outro lado.OneWay - Filtros de um lado ou o lado de pesquisa de uma relação filtram o outro lado. Esta opção não pode ser usada com uma relação um-para-um . Não use essa opção em um relacionamento muitos-para-muitos porque não está claro qual é o lado da pesquisa; em vez disso, use OneWay_LeftFiltersRight ou OneWay_RightFiltersLeft.OneWay_LeftFiltersRight - Filtros na lateral da columnName1 filtram a lateral da columnName2 . Esta opção não pode ser usada com uma relação um-para-um ou muitos-para-um.OneWay_RightFiltersLeft - Filtros na lateral da columnName2 filtram a lateral da columnName1 . Esta opção não pode ser usada com uma relação um-para-um ou muitos-para-um. |
A função não retorna nenhum valor; A função apenas define a direção da filtragem cruzada para a relação indicada, durante a duração da consulta.
No caso de uma relação 1:1, não há diferença entre uma e ambas as direções.
CROSSFILTER só pode ser usado em funções que tomam um filtro como argumento, por exemplo: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD e TOTALYTD funções.
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 um relacionamento não é importante; ou seja, se a relação está definida para filtrar uma ou ambas as direções no modelo não afeta o uso da função. CROSSFILTER substituirá qualquer configuração de filtragem cruzada existente.
Um erro será retornado se qualquer uma das colunas nomeadas como argumento não fizer parte de um relacionamento ou se os argumentos pertencerem a relações diferentes.
Se as expressões CALCULATE estiverem aninhadas e mais de uma expressão CALCULATE contiver uma função CROSSFILTER, então o CROSSFILTER mais interno é aquele que prevalece em caso de conflito ou ambiguidade.
Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).
No diagrama de modelo a seguir, DimProduct e DimDate têm uma relação de direção única com FactInternetSales.
Por padrão, não podemos obter a Contagem de Produtos vendidos por ano:
Existem duas maneiras de obter a contagem de produtos por ano:
Ative a filtragem cruzada bidirecional na relação. Isso mudará a forma como os filtros funcionam para todos os dados entre essas duas tabelas.
Use a função CROSSFILTER para alterar como as relações funcionam apenas para essa medida.
Ao usar o DAX, podemos usar a função CROSSFILTER para alterar como a direção do filtro cruzado 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 de medida, obtemos os resultados esperados:
evento
Junte-se a nós na FabCon Vegas
31/03, 23 - 2/04, 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registe-se hoje mesmo