QLIKVIEW Formula to feed POISSON

0

I need help finding the value for a POISSON formula

I have the table below:

With the POISSON formula of excel = POISSON (10; 11.97; TRUE) I get 35,07%

=POISSON( Numero de Peças ; Peças Entregues dentro do prazo 7 dias;TRUE)

The result with the number of pieces (10) gives me an availability of: 35,07%

And I have a AvailabilityVariable variable that I report the availability I want to achieve.

Ex: If I want 95% availability, I need 18 pieces.

=POISSON(18;624;TRUE) = 96,34%

I need a formula that gives me the quantity of pieces for POISSON to get me the availability I want.

If you need 35% = 10 pieces.
If you need 95% = 18 pieces.

  
  • Parts delivered within 7 days = 624 / (365/7)
  •   
    
asked by anonymous 16.04.2018 / 15:36

1 answer

0

I was able to solve my problem, I hope I can help someone. Or if they have a better solution let me know.

I broke the Poisson formula

Placing in the Load Script

PECAS:
Load *
Resident LISTA_PECAS;

//For para passar por todos as linhas da tabela
For i=0 to NoOfRows('PECAS')-1;

    //Quantidade Peças para atender no Ano
    Let NUM_PECAS=Peek('NUM_PECAS', $(i), 'PECAS'); 

    // Numero de Serie da Peça para criar a relação
    Let SERIAL=Peek('SERIAL', $(i), 'PECAS'); 

    Let tDisponibilidade = 0; //Seta a disponibilidade em 0 para cada linha que passar 

    For QNT_PECAS=0 to $(vMaxPoisson); // For para fazer o acumulado do POISSON para ver a disponibilidade usando variável QNT_PECAS começando com 0

        Let PECAS_POR_PRAZO = ($(vPRAZO)/365)*$(NUM_PECAS); //Conta Para saber as peças por prazo para atender a disponibilidade anual

        Let tDisponibilidade = tDisponibilidade + ((exp(-$(PECAS_POR_PRAZO ))*pow($(PECAS_POR_PRAZO ),$(QNT_PECAS)))/Fact($(QNT_PECAS)));
        // Acumula o valor do POISSON, a formula sem acumular é:
        //=EXP(-PECAS_POR_PRAZO)*PECAS_POR_PRAZO^(QNT_PECAS)/(FATORIAL(QNT_PECAS))


        if(tDisponibilidade >= $(vDisponibilidade)) then

            Tabela_Disponibilidade:
            LOAD * INLINE [
            SERIAL, QNT_PECAS, DISPONIBILIDADE
            $(SERIAL), $(QNT_PECAS), $(tDisponibilidade)
            ];          
            exit for; //Sai do For e para de Acumular quando atender a disponibilidade

        end if

    Next QNT_PECAS;

Next i;
    
18.04.2018 / 14:14