Ir para conteúdo

Rodrigo R1

Alunos
  • Total de itens

    420
  • Registro em

  • Última visita

Posts postados por Rodrigo R1

  1. Olá @DoisLs, boa noite.

    Atendendo ao chamado do meu grande amigo, @Leandro Del Rio, resolvi pegar seu case para soluciona-lo.

    Seu case era realmente bem complexo....quase uma consultoria....hahahahaha

    O primeiro passo foi criar a medida de projeção do percentual da comissão - que não estava criada também - por isso a solução do vídeo só iria resolver após isso.

    Além do mais, eu vi que você copiou a solução apresentada no vídeo.

    Mas você não levou em consideração que os contextos são diferentes - no vídeo o contexto está em dias e no seu case está em mês e ano.

    Você pode verificar que na variável maior data existe um REMOVEFILTERS apenas na coluna de data. Mas no seu contexto de avaliação não existe coluna de data - mas sim mês e ano. Por isso seria preciso adaptar para o seu case, entendeu?

    Não quer dizer que a solução não funciona!!! Ela só precisava ser adaptada a uma realidade diferente - a um novo contexto....

    Pois bem....seguem as medidas criadas.....

    Projeção do percentual da comissão:

    _ComisaoMoM R1 =
     
    var mescontexto = MAX(dCalendario[Mes Contador])
     
    var maiordata =
    CALCULATE(
     
        max(fComissao[DAT_REFERENCIA_FIM]),
        all(dcalendario)
    )
     
    var maiormes =
    CALCULATE(
        MAX(dCalendario[Mes Contador]) ,
        dCalendario[Data] = maiordata)
     
    return
    if(
        mescontexto < maiormes,
        DIVIDE(
            [VLR_COMISAO] - [Comisao M-1], [Comisao M-1]),
        CALCULATE(
            DIVIDE(
            [VLR_COMISAO] - [Comisao M-1], [Comisao M-1]),
                DATEADD(dcalendario[Data], -12, MONTH)))

     

    Projeção do valor da comissão: Veja a observação quanto a variável maior data

    Forecast R1 =
    Var DataContexo = MAX(dCalendario[Data])
    var mescontexto = MAX(dCalendario[Mes Contador])
     
    var maiordata =
    CALCULATE(
     
        max(fComissao[DAT_REFERENCIA_FIM]),
        //REMOVEFILTERS(dCalendario[Data]) -- aqui está removendo o contexto apenas da coluna data - que não existe no contexto que está sendo avaliado
        all(dcalendario) -- ajustei para all calendário, mas poderia remover apenas os filtros das colunas do contexto - ano e mes.
    )
     
    var maiormes =
    CALCULATE(
        MAX(dCalendario[Mes Contador]) ,
        dCalendario[Data] = maiordata)
     
    var ultimacomissao =
    CALCULATE(
        [VLR_COMISAO],
        all(dcalendario),
       dcalendario[Mes Contador] = maiormes)
       // dCalendario[Data] = maiordata)
     
    var taxa =
    PRODUCTX(
        FILTER(
            ALL(dCalendario),
            dCalendario[Data] <= DataContexo &&
            dcalendario[Mes Contador] > maiormes),
            //dCalendario[Data] > maiordata),
            1 + [_ComisaoMoM R1])
    Return
     
    IF(DataContexo > maiordata,
        ultimacomissao * taxa,
        [VLR_COMISAO])

    E por fim, o ajuste do total:

    Total R1 =
    SUMX(
    SUMMARIZE(dcalendario,
    dcalendario[Ano],
    dcalendario[Mês]),
    [Forecast R1])

     

    O resultado final:

    image.png.6407417b1f788a93013b7909a3a50c15.png

    Veja que a partir de junho de 2023 os valores da projeção estão buscando os valores de 12 meses atrás - conforme sua regra de negócio.

    O PBIX final está em anexo.

    Espero que tenha conseguido ajudar e mereça o seu reconhecimento indicando a minha resposta como a melhor solução para o seu case.

    Sucesso em sua jornada.

     

    apuracao R1.pbix

    • Like 3
  2. Boa noite @Claudia Passos, tudo bem?

    Percebi que sua dúvida está há muitos dias em aberto.

    Então resolvi trazer uma sugestão de solução para você....

    As medidas:

    Pareto R1 =

    VAR faturamentototal =

        CALCULATE(

            [.Vl Vendas],

             ALLSELECTED(dProdutos)

             )

     

    VAR faturamentoAtual = [.Vl Vendas]

     

    VAR tabela =

        ADDCOLUMNS(

        SUMMARIZE(

             ALLSELECTED(fPareto),

              dProdutos[DESCRICAO]),

              "Vendas", [.Vl Vendas])


     

    VAR faturamentoacumulado =

        IF (

            [.Vl Vendas] > 0,

            SUMX(

                FILTER (tabela,

                 [Vendas] >= faturamentoAtual ), [Vendas] )

        )


     

    RETURN

        faturamentoacumulado

     

    % Pareto R1 =

    VAR faturamentototal =

        CALCULATE(

            [.Vl Vendas],

             ALLSELECTED(dProdutos)

             )

     

    VAR faturamentoAtual = [.Vl Vendas]

     

    VAR tabela =

        ADDCOLUMNS(

        SUMMARIZE(

             ALLSELECTED(fPareto),

              dProdutos[DESCRICAO]),

              "Vendas", [.Vl Vendas])


     

    VAR faturamentoacumulado =

        IF (

            [.Vl Vendas] > 0,

            SUMX(

                FILTER (tabela,

                 [Vendas] >= faturamentoAtual ), [Vendas] )

        )


     

    RETURN

        DIVIDE(faturamentoacumulado, faturamentototal)

     

    image.png.7880315e6a08cb1870224a0b9d639101.png

    Segue PBIX em anexo. Espero que tenha ajudado.

    Peço a gentileza de marcar a minha resposta como a solução.

    Sucesso aí....

    teste-pareto.pbix

    • Like 2
  3. Lucas, para criar segmentação, vc precisa ter de alguma forma os valores dessa segmentação em uma tabela.

    Para isso sugiro vc criar essa tabela auxiliar de segmentação como valores que deseja segmentar numa coluna: 0.00, 0.40, 0.60, 0.90...quantos desejar.

    Feito isso, vc vai criar um parâmetro de campos e incluir nele essa coluna.

    Na medida que te passei, voce vai trocar o valor 0.40 por esse parâmetro de campos.

    E em todas as medidas da sua tabela, vc vai precisar fazer o mesmo raciocínio lógico que eu te passei naquela medida.

    Aí qdo o usuário selecionar o parâmetro de campo no visual, irá ajustar as medidas e filtrar a sua tabela.

    Sucesso aí...

    • Like 1
  4. Boa noite @Lucas Soldateli, tudo bem amigo???

    Segue a solução para o seu case:

    R1 =

    var tabela =

    ADDCOLUMNS(

        SUMMARIZE(pos_robo,

        d_pedido[Número Pedido],

        d_trecho[Nome Geografia],

        d_trecho[Trecho]),

        "@%", [Ocupacao %])

     

    var resultado =

    CALCULATE([Ocupacao %],

                FILTER(tabela,

                    [@%] < 0.4))

     

    Return

     

    resultado

    image.png.19711f5f4114b90fe1f840430135f617.png

    Espero que tenha conseguido ajudar.

    Sucesso aí, amigo.

     

    performance_robo_FINAL_novo.pbix

  5. Boa noite, @Filippo Cupolillo. Tudo bem amigo?

    Segue minha sugestão para a solução do seu case:

    Solução R1 =

     

    var vcliente = SELECTEDVALUE(Tabela[ID])

     

    var diadebito = CALCULATE(

                            SELECTEDVALUE(

                                        Tabela[Data]),

                                            Tabela[Tipo] = "Débito")

     

    var debitoanterior = CALCULATE(

                                Max(

                                    Tabela[Data]),

                                        Tabela[Tipo] = "Débito",

                                        dcalendario[Date] < diadebito)

     

    var primeirocredito = CALCULATE(

                                    MIN(Tabela[Data]),

                                     FILTER(

                                         ALLSELECTED(Tabela),

                                          Tabela[Tipo] = "Crédito" &&

                                            Tabela[ID] = vcliente &&

                                             Tabela[Data] < diadebito &&

                                              Tabela[Data] > debitoanterior))

     

    return

    DATEDIFF(primeirocredito, diadebito + 1, DAY)

     

    Como você não disponibilizou base, eu criei uma semelhante para tentar ajudar a solucionar sua dúvida.

    Basta fazer alguns pequenos ajustes na medida para chegar na solução que deseja - talvez acrescentar uma ou outra coluna do seu contexto de avaliação...

    image.png.3e446551ba88461059010bfc383f11fe.png

    Espero que tenha conseguido ajudar, amigo.

    Sucesso aí....🚀🚀🚀🚀🚀

    Abraço

    Duvida Fellippo Mentoria.pbix

    • Like 1
    • Thanks 2
  6. @andresouza, boa noite amigo.

    Conseguiu encontrar a solução esperada?

    Gentileza marcar qual a solução apresentada foi a mais adequada para o seu case.

    Caso não tenha encontrado ainda, gentileza esclarecer melhor qual o resultado desejado - porque eu fiquei em dúvidas do que você deseja.

    Até fiz outra solução aqui, mas ainda não tenho certeza se seria o que vc deseja de fato:

    image.png.671e06745e88df7bc30bbc0c8a662301.png

    Espero que tenha ajudado.

    Sucesso aí, amigo.

    • Like 1
  7. Boa tarde, @Elias Batista.

    Peço então a gentileza de disponibilizar o seu arquivo PBIX pra gente analisar de forma mais assertiva?

    Ou pelo menos demonstrar através de uma base fake que represente seu modelo de dados original?

    Porque pra fazer as medidas corretamente precisaremos considerar e saber quais são as colunas que fazem parte do seu modelo de dados, entendeu?

    Quando eu analisei o arquivo Excel, eu considerei que era uma tabela com suas respectivas colunas. Aí carreguei no PBI e criei essa medida. 

    Mas vamos chegar na sua solução. Só precisamos do modelo de dados.

    Conte comigo. 

    Aguardo seu retorno, amigo.

     

  8. Boa noite @Gulhysan Saldanha. Tudo bem, amigo?

    Se me permite uma sugestão...veja se seria isso:

    Nenhum selecionado com apenas uma linha com o total:

    image.png.3b86afa41690b29cd16e1f87ff231712.png

     

    A partir de quando for selecionando, aí serão adicionadas as linhas correspondentes:

    image.png.9e8aa4c2a50791948ab6d609d03fb79f.png

    Obs.: Quanto à legenda eu não encontrei alguma maneira de não ocultá-la quando não existir filtro. Pois essa é uma funcionalidade nativa do PBI.

    Na legenda eu usei a coluna de Cd fornecedor e não da descrição.

    De toda forma, espero que tenha conseguido contribuir de alguma maneira.

    Sucesso aí, amigo....

  9. Boa noite, @Victor Valadão.

    Analisando o seu modelo, acredito ser melhor revisá-lo para a criação de mais tabelas fato, do que 1 apenas.

    Tanto que você está tentando criar uma tabela via Dax em relação ao Desempenho do aluno.

    Penso que seu modelo poderia ser desmembrado em mais tabelas fato como:

    1 tabela fato de matrícula: para o registro da matrícula do aluno - se isso for relevante;

    1 tabela fato de frequência: para registrar a presença e/ou falta do aluno;

    1 tabela fato desempenho: com as notas obtidas em cada matéria.

    E, consequentemente, essas tabelas se relacionariam com as demais dimensões.

    Perceba que a frequência do aluno é um fato - que é diferente da nota obtida em uma matéria específica (outro fato). Por essa razão, o recomendado é que estejam em tabelas separadas, pois são "fatos" distintos. Assim como a data de sua matrícula - um terceiro "fato" (acontecimento).

    Como seu case envolve dúvidas relacionadas no segmento educacional, pode ser que você consiga insights assistindo ao Business Case do Enen abaixo:

    Download Business Case - Educação com Dados do ENEM - Business Case: Educação com Dados do ENEM (powerbiexperience.com)

    Espero que tenha conseguido ajudar de alguma maneira.

    Sucesso aí, amigo...

     

  10. Boa noite @Davi Rodolfo. Tudo bem, amigo.

    Segue minha sugestão para o seu case.

    Obs.: eu usei uma base de dados fictícia que tenho, mas é apenas adaptar ao seu modelo, ok?

    Medidas:

    Maior Mes R1 =

     

    var maiorvalor = CALCULATE(max(fDados[Valor]),

                        all(dCalendario),

                        VALUES(dCalendario[Ano]))

     

    var maiordata = CALCULATE(SELECTEDVALUE(dCalendario[Meses]),

                        filter(fDados,

                        [Soma] = maiorvalor))

     

    return

    maiordata
     

    Maior Mes Anterior R1 =

     

    var maiorvalor = CALCULATE(max(fDados[Valor]),

                        all(dCalendario),

                        VALUES(dCalendario[Ano]))

     

    var maiorpassado = CALCULATE(

                        CALCULATE(max(fDados[Valor]),

                        all(dCalendario),

                        VALUES(dCalendario[Ano])),

                        DATEADD(dCalendario[Data], -1, YEAR))

     

    var maiordataanterior = CALCULATE(

                            CALCULATE(SELECTEDVALUE(dCalendario[Meses]),

                             filter(fDados,

                             [Soma] = maiorpassado)),

                             DATEADD(dCalendario[Data], -1, YEAR))

     

    return

    maiordataanterior

     

    Menor Mes Anterior R1 =

     

    var menorvalor = CALCULATE(MIN(fDados[Valor]),

                        all(dCalendario),

                        VALUES(dCalendario[Ano]))

     

    var menorpassado = CALCULATE(

                        CALCULATE(MIN(fDados[Valor]),

                            all(dCalendario),

                            VALUES(dCalendario[Ano])),

                            DATEADD(dCalendario[Data], -1, YEAR))

     

    var menordataanterior = CALCULATE(

                                CALCULATE(SELECTEDVALUE(dCalendario[Meses]),

                                filter(fDados,

                                [Soma] = menorpassado)),

                                DATEADD(dCalendario[Data], -1, YEAR))

     

    return

    menordataanterior
     

    image.png.4bbb207daf06a2f172e4f524b84a3abe.png

    Espero que tenha conseguido ajudar.

    Sucesso aí, amigo....

×
×
  • Criar Novo...