Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá,
Pessoal tenho uma tabela de vendas e uma tabela de dias úteis por filial, pois consideramos os calendários municipais em nossas analises.
Estou tentando montar um KPI de Média Dia que desconsidere os dias úteis por filial, quero utilizar sempre o maior valor de cada mês, ex.: No ano de 2018 para o mês de Janeiro tenho as opções de 21, 22 e 23 dias úteis. A opção correta seria 23 dias úteis.
Para calcular a média de vendas diária de um ano especifico no grupo todo, tentei as seguintes expressões:
Sum({$<Ano={'2018'}>}[ReceitaTotal]) / Sum(Aggr(Mediun([Dias Úteis]), [Mês], [Ano]={'2018'}))
No entanto ele está considerando o maior dia útil do ano, ou seja 23, neste exemplo ele desconsidera que meu maior valor para fevereiro foi 18 dias úteis por exemplo e considera que tive 23 dias em todos os meses.
Outra opção que tentei foi:
Sum({$<Ano={'2018'}>}[ReceitaTotal]) / Sum(Aggr(Mediun([Dias Úteis]), [Mês]={"jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",}, [Ano]={'2018'}))
Nesta segunda tentativa ele retornou a média dia sem qualquer valor, não teve erro de sintaxe, porém não teve retorno de valor.
Importante¹ Preciso que essa média responda aos filtros (Trimestre, mês, etc.);
Importante² Como ficaria a Sintaxe caso eu queira filtrar uma filial? Ou seja tendo a necessidade de considerar os dias uteis de cada mês em um ano especifico para uma filial especifica para calcular a média.
Tentei com Max na verdade e não com Mediun, com Mediun é como estou usando para "tapar buraco" porém desta forma esta incorreto também, pois considera que todos os meses tem a mesma quantidade de dias.
Sum({$<Ano={'2018'}>}[ReceitaTotal]) / Sum(Aggr(Max([Dias Úteis]), [Mês], [Ano]={'2018'}))
Sum({$<Ano={'2018'}>}[ReceitaTotal]) / Sum(Aggr(Max([Dias Úteis]), [Mês]={"jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",}, [Ano]={'2018'}))
Talvez isso:
Sum({$<Ano={$(=Max(Ano))}>}[ReceitaTotal]) / Sum({$<Ano={$(=Max(Ano))},Mes,[Dias Úteis]={$(=Max([Dias Úteis]))}>}[ReceitaTotal])
Agradeço Thiago, a lógica faz muito sentido mas infelizmente não deu certo, o resultado deste calculo esta dando 1,24 quando na verdade a média de venda dia fica em torno de 50k.
Se você tiver como postar um app de exemplo eu tento outra solução.
Abs e Sucesso!
Oi Thiago, então eu não consigo mandar o modelo para vc pq contém dados da empresa que não tenho autorização de compartilhar, mas vou tentar ser bem especifico abaixo, pois preciso muito de ajuda com isto rs.
Obs. Enviei uma solicitação no Skype para caso necessário e se possível, compartilhar a tela ctgo em um call e vc me auxiliar.
Eu fragmentei a conta para ficar mais fácil, deixei de lado a soma das vendas nesse momento para tentarmos acertar a soma dos dias úteis e ficou desta forma.
Sum( Aggr (Max([Dias Úteis]),[Mês],[Ano]={'2018'} )) , O Objetivo deste calculo deveria ser identificar o maior valor de dias uteis em cada mês, ex:(Jan 22, Fev 18, Mar 21, etc.), independente da filial e somá-los, resultando no total de dias do ano. nesse ano de 2018 por exemplo deveríamos ter como resultado 250 dias úteis, no entanto a formula está identificando o maior valor entre todos os meses que é 23 e multiplicando por 12, resultando em 276 dias, diferente do que eu preciso.
Abaixo um modelo de como está minha tabela de dias úteis, lembrando que tenho mais de 40 filiais e o período é de 2014 a 2018 e pretendo atualiza-la em breve com 2019.
Filial | Ano | Mês | Dias Úteis |
16 | 2014 | Jan | 22 |
16 | 2014 | Fev | 20 |
16 | 2014 | Mar | 19 |
16 | 2014 | Abr | 20 |
16 | 2014 | Mai | 21 |
16 | 2014 | Jun | 21 |
16 | 2014 | Jul | 22 |
16 | 2014 | Ago | 21 |
16 | 2014 | Set | 22 |
16 | 2014 | Out | 23 |
16 | 2014 | Nov | 20 |
16 | 2014 | Dez | 22 |
16 | 2015 | Jan | 21 |
16 | 2015 | Fev | 19 |
16 | 2015 | Mar | 22 |
16 | 2015 | Abr | 20 |
16 | 2015 | Mai | 20 |
16 | 2015 | Jun | 22 |
16 | 2015 | Jul | 22 |
16 | 2015 | Ago | 21 |
16 | 2015 | Set | 21 |
16 | 2015 | Out | 21 |
16 | 2015 | Nov | 20 |
16 | 2015 | Dez | 22 |
Neste caso, já que o intuito é apenas calcular o número de dias úteis sugiro a expressão:
Para 2018, por exemplo:
NetWorkDays(YearStart(Today()),YearEnd(Today()),$(vFeriados))
Onde vFeriados é definida no script.
Para maior esclarecimento deixo o app anexo para sua consulta e validação.
Usei a planilha de feriados contida aqui: Datas Comemorativas - Feriados Nacionais - Brasil.xls
Abs e Sucesso!!