Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Em um modelo de Power BI ad dimensões _Calendario e a Fato FATO_SELLOUT se relacionam através da coluna Ano Mês de _Calendario e PERIODO de FATO_SELLOUT.
Na tela o usuário utiliza a hierarquia de _Calendario filtrando o Ano e os Meses que deseja analisar.
Preciso de uma medida que analise a partir do periodo selecionado de _Calendario se todos os PERIODOS de uma REDE na FATO_SELLOUT possuem QUANTIDADE_BOLSAS diferente de 0, valores negativos também devem ser considerados. Se sim a REDE deve ser considerada "Ativo".
Também preciso de uma medida que analise a partir do periodo selecionado de _Calendario se um ou mais PERIODOS de uma REDE na FATO_SELLOUT possuem QUANTIDADE igual a 0. Se sim a REDE deve ser considerada "Inativo".
Importante, os periodos de analise podem variar.
Por exemplo:
REDE; PERIODO; QUANTIDADE
Rede A; 202501; 12
Rede A; 202502; 11
Rede A; 202503; 10
No exemplo acima Rede A deve se encaixar na medida "Ativo"
Outro exemplo.
Rede A; 202502; 11
Rede A; 202503; 10
Rede A; 202504; 0
Rede A; 202505; 8
Nesse caso Rede A deve se encaixar na medida "Inativo"
Essas medidas serão utilizadas em um Parâmetro de Campos que conterá as duas medidas, "Ativo" e "Inativo". Quando o usuário selecionar "Ativo" as informações do relatório devem ser filtradas de acordo com o Periodo selecionado contendo apenas as informações das REDES que se encaixam na regra de "Ativo".
Quando o usuário selecionar "Inativo" as informações do relatório devem ser filtradas de acordo com o Periodo selecionado contendo apenas as informações das REDES que se encaixam na regra de "Inativo".
Hey @Thiago_Anselmo ,
This measure returns "1" for networks in which none of the periods in the filter have QUANTIDADE_BOLSAS equal to 0 (negative values are valid).
Active Network = VAR SelectedNetworks = ADDCOLUMNS ( SUMMARIZE ( FATO_SELLOUT, FATO_SELLOUT[REDE] ), "ZeroQty", CALCULATE ( COUNTROWS ( FATO_SELLOUT ), FATO_SELLOUT[QUANTIDADE_BOLSAS] = 0 ) ) RETURN IF ( MAXX ( FILTER ( SelectedNetworks, FATO_SELLOUT[REDE] = EARLIER(FATO_SELLOUT[REDE]) ), [ZeroQty] ) = 0, 1, 0 )
This measure returns "1" for networks in which at least one period within the filter has QUANTIDADE_BOLSAS = 0.
Inactive Network = VAR ZeroQty = CALCULATE ( COUNTROWS ( FATO_SELLOUT ), FATO_SELLOUT[QUANTIDADE_BOLSAS] = 0 ) RETURN IF ( ZeroQty > 0, 1, 0 )
You can use the measure in a CALCULATETABLE or directly on visuals with filters.
For Detailed Infrmation:
"Handling multiple conditions in DAX"
"Using the FILTER function in DAX"
"DAX Filter Functions in Power BI"
If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.
Best Regards,
Nasif Azam