Alunos Jeferson Souza Postado Agosto 18, 2023 Alunos Compartilhar Postado Agosto 18, 2023 Pessoal Boa tarde! Alguém tem alguma sugestão de como melhorar esse dax ? Está mega pesado de carregar no meu modelo dax tem o mesmo conceito para as variáveis é uma condicional.. que me devolve um valor x Pagamento Real = var _menorque50 = SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02] ), [%Acelerador%] < [50%] ), IF(dProduto[Subtipo_02]="100 - STATIONERY",0, IF(dProduto[Subtipo_02]="200 - LIGHTER",0, IF(dProduto[Subtipo_02]="416 - SIMPLY SOLEIL",0, IF(dProduto[Subtipo_02]="518 - COMFORT 3 ACTION",0, IF(dProduto[Subtipo_02]="755 - BIC 3",0,"")))))) var vAtingiu = SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02] ), [%Acelerador%] > [100%] ), IF(dProduto[Subtipo_02]="100 - STATIONERY",[Real]*[%Pagamento], IF(dProduto[Subtipo_02]="200 - LIGHTER",[Real]*[%Pagamento], IF(dProduto[Subtipo_02]="416 - SIMPLY SOLEIL",[Real]*[%Pagamento], IF(dProduto[Subtipo_02]="518 - COMFORT 3 ACTION",[Real]*[%Pagamento], IF(dProduto[Subtipo_02]="755 - BIC 3",[Real]*[%Pagamento],"")))))) Var vMaiorque50= SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02] ), [%Acelerador%] > [50%] && [%Acelerador%] < [100%] ), IF(dProduto[Subtipo_02]="100 - STATIONERY",[Real] * [%Pagamento] * [%Acelerador%], IF(dProduto[Subtipo_02]="200 - LIGHTER",[Real] * [%Pagamento] * [%Acelerador%], IF(dProduto[Subtipo_02]="416 - SIMPLY SOLEIL",[Real] * [%Pagamento] * [%Acelerador%], IF(dProduto[Subtipo_02]="518 - COMFORT 3 ACTION",[Real] * [%Pagamento] * [%Acelerador%], IF(dProduto[Subtipo_02]="755 - BIC 3",[Real] * [%Pagamento] * [%Acelerador%],"" )))))) RETURN _menorque50+vAtingiu+vMaiorque50 Link para o comentário Compartilhar em outros sites More sharing options...
1 Admin Solução Tiago Craici - Xperiun Postado Agosto 21, 2023 Admin Solução Compartilhar Postado Agosto 21, 2023 (editado) 31 minutos atrás, Jeferson Souza disse: estou tentando outra aqui.. mas ela ta dando erro e eu não sei onde .. falta fechar a values ) VALUES(dProduto[Subtipo_02]) <--- bem aqui Editado Agosto 21, 2023 por Tiago Craici Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Renato Carlos Rossato Postado Agosto 18, 2023 Alunos Compartilhar Postado Agosto 18, 2023 Olá @Jeferson Souza, se trocar esse filtro dessas descrições como por exemplo "100 - STATIONERY" por um ID em número acredito que pode te ajudar ai. Outra coisa seria substiuir esses IF's por Switch também pode ajudar: Exemplo da variável: var _menorque50 = SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02] ), [%Acelerador%] < [50%] ), SWITCH( SELECTEDVALUE(dProduto[Subtipo_02]), "100 - STATIONERY", 0, "200 - LIGHTER", 0, "416 - SIMPLY SOLEIL", 0, "518 - COMFORT 3 ACTION",0, "755 - BIC 3",0 ) ) Acredito que pode ajudar ai, mas se trabalhar com ID's é menos caracteres pra procurar e tende a ser mais rápido. Espero ter ajudado. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Jeferson Souza Postado Agosto 21, 2023 Autor Alunos Compartilhar Postado Agosto 21, 2023 Em 18/08/2023 em 17:28, Renato Carlos Rossato disse: Olá @Jeferson Souza, se trocar esse filtro dessas descrições como por exemplo "100 - STATIONERY" por um ID em número acredito que pode te ajudar ai. Outra coisa seria substiuir esses IF's por Switch também pode ajudar: Exemplo da variável: var _menorque50 = SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02] ), [%Acelerador%] < [50%] ), SWITCH( SELECTEDVALUE(dProduto[Subtipo_02]), "100 - STATIONERY", 0, "200 - LIGHTER", 0, "416 - SIMPLY SOLEIL", 0, "518 - COMFORT 3 ACTION",0, "755 - BIC 3",0 ) ) Acredito que pode ajudar ai, mas se trabalhar com ID's é menos caracteres pra procurar e tende a ser mais rápido. Espero ter ajudado. Bom dia! Alterei aqui! mas continua pesado, esse dax está acabando com meu projeto, será que existe uma maneira de melhorar ele.. acho que é essa multiplicação no final que está deixando pesado. Será que colocando uma variável ficaria mais leve ? PGTO 02 = SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02 - Copiar] ), [%Acelerador%] > [50%] && [%Acelerador%] < [100%] ), SWITCH(dProduto[Subtipo_02 - Copiar], "100",[Real] * [%Pagamento] * [%Acelerador%], "200",[Real] * [%Pagamento] * [%Acelerador%], "416",[Real] * [%Pagamento] * [%Acelerador%], "518",[Real] * [%Pagamento] * [%Acelerador%], "755",[Real] * [%Pagamento] * [%Acelerador%],"" )) Link para o comentário Compartilhar em outros sites More sharing options...
0 Admin Tiago Craici - Xperiun Postado Agosto 21, 2023 Admin Compartilhar Postado Agosto 21, 2023 18 minutos atrás, Jeferson Souza disse: Bom dia! Alterei aqui! mas continua pesado, esse dax está acabando com meu projeto, será que existe uma maneira de melhorar ele.. acho que é essa multiplicação no final que está deixando pesado. Será que colocando uma variável ficaria mais leve ? PGTO 02 = SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02 - Copiar] ), [%Acelerador%] > [50%] && [%Acelerador%] < [100%] ), SWITCH(dProduto[Subtipo_02 - Copiar], "100",[Real] * [%Pagamento] * [%Acelerador%], "200",[Real] * [%Pagamento] * [%Acelerador%], "416",[Real] * [%Pagamento] * [%Acelerador%], "518",[Real] * [%Pagamento] * [%Acelerador%], "755",[Real] * [%Pagamento] * [%Acelerador%],"" )) Bom dia! Crie um variável para essa parte ( [Real] * [%Pagamento] * [%Acelerador%] ) e retorne a mesma quando necessário nos cálculos abaixo da sua medida. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Renato Carlos Rossato Postado Agosto 21, 2023 Alunos Compartilhar Postado Agosto 21, 2023 @Jeferson Souza, anexa um PBIX aqui pra dar uma analisada melhor. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Jeferson Souza Postado Agosto 21, 2023 Autor Alunos Compartilhar Postado Agosto 21, 2023 58 minutos atrás, Tiago Craici disse: Bom dia! Crie um variável para essa parte ( [Real] * [%Pagamento] * [%Acelerador%] ) e retorne a mesma quando necessário nos cálculos abaixo da sua medida. @Tiago Craici, bom dia, melhorou um pouco, mas permanece pesado, não carrega a quando deixo a base toda. será que tem oportunidade de melhorar mais alguma coisa ? PGTO 02 = var vRacional= [Real] * [%Pagamento] * [%Acelerador%] return SUMX ( FILTER ( VALUES ( dProduto[Subtipo_02 - Copiar] ), [%Acelerador%] > [50%] && [%Acelerador%] < [100%] ), SWITCH(dProduto[Subtipo_02 - Copiar], "100",vRacional, "200",vRacional, "416",vRacional, "518",vRacional, "755",vRacional,"" )) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Jeferson Souza Postado Agosto 21, 2023 Autor Alunos Compartilhar Postado Agosto 21, 2023 (editado) estou tentando outra aqui.. mas ela ta dando erro e eu não sei onde .. Editado Agosto 21, 2023 por Jeferson Souza Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jeferson Souza
Pessoal Boa tarde!
Alguém tem alguma sugestão de como melhorar esse dax ?
Está mega pesado de carregar no meu modelo
dax tem o mesmo conceito para as variáveis é uma condicional.. que me devolve um valor x
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora