Forum Discussion
RogerioTortosa
Helper II
9 years agoThe measure was slow.
Hi,
After including the last measure in the Table the query was very slow
Aluem would know to help me to verify what is wrong
Regards,
PBIX = https://1drv.ms/u/s!Au1L5zHi1GMN40aNORK-CKyv4RrK
1 Reply
- v-ljerr-msft
Microsoft Employee
Hi RogerioTortosa,
After reviewing your shared pbix files, I find that you have used many SUMX functions and FILTER(dProdutosFichasTecnicas)(the entire table in a FILTER) within the measure [Necessidade Compra Ficha] which may cause the measure slow. Here is a good article (Tune your PowerPivot DAX query, don’t use the entire table in a FILTER and replace SUMX if possible) for your reference.
I have tried the formula below, and it is much fast then the previous one. :smileyhappy:
Necessidade Compra Ficha = VAR SaldoInicialFicha = CALCULATE ( SUM ( dSaldoEstoques[QtdeDisponivel] ), VALUES ( dProdutosFichasTecnicas ) ) VAR SegundaFicha = CALCULATE ( [Total Qtde Pendente Insumo], FILTER ( VALUES ( dProdutosFichasTecnicas ), dProdutosFichasTecnicas[DataEntrega] = [Next Segunda] ) ) VAR TercaFicha = CALCULATE ( [Total Qtde Pendente Insumo], FILTER ( VALUES ( dProdutosFichasTecnicas ), dProdutosFichasTecnicas[DataEntrega] = [Next Terça] ) ) VAR QuartaFicha = CALCULATE ( [Total Qtde Pendente Insumo], FILTER ( VALUES ( dProdutosFichasTecnicas ), dProdutosFichasTecnicas[DataEntrega] = [Next Quarta] ) ) VAR QuintaFicha = CALCULATE ( [Total Qtde Pendente Insumo], FILTER ( VALUES ( dProdutosFichasTecnicas ), dProdutosFichasTecnicas[DataEntrega] = [Next Quinta] ) ) VAR SextaFicha = CALCULATE ( [Total Qtde Pendente Insumo], FILTER ( VALUES ( dProdutosFichasTecnicas ), dProdutosFichasTecnicas[DataEntrega] = [Next Sexta] ) ) VAR PosteriorFicha = CALCULATE ( [Total Qtde Pendente Insumo], FILTER ( VALUES ( dProdutosFichasTecnicas ), dProdutosFichasTecnicas[DataEntrega] > [Next Sexta] ) ) VAR SaldoParcialFicha = SaldoInicialFicha - ( SegundaFicha + TercaFicha + QuartaFicha + QuintaFicha + SextaFicha + PosteriorFicha ) VAR EstoqueMinimoFicha = CALCULATE ( SUM ( dProdutosMRP[EstoqueMinimo] ), VALUES ( dProdutosFichasTecnicas ) ) VAR Consumo30DiasFicha = CALCULATE ( SUM ( dConsumo01M[Qtde] ) * -1, VALUES ( dProdutosFichasTecnicas ) ) VAR QtdeTransitoFicha = CALCULATE ( SUM ( dOCPendentes[QtdeReceber] ), VALUES ( dProdutosFichasTecnicas ) ) VAR QtdeOPAbertaFicha = CALCULATE ( SUM ( dOPPendentes[QtdePendente] ), VALUES ( dProdutosFichasTecnicas ) ) VAR NecessidadeFicha = ( Consumo30DiasFicha - QtdeTransitoFicha - QtdeOPAbertaFicha ) RETURN IF ( SaldoParcialFicha <= EstoqueMinimoFicha, IF ( NecessidadeFicha < 0, BLANK (), NecessidadeFicha ), BLANK () )Regards