Ir para conteúdo

Tiago Craici - Xperiun

Admin
  • Total de itens

    1.398
  • Registro em

  • Última visita

Community Answers

  1. Tiago Craici - Xperiun's post in Dica de Visualização de Dados was marked as the answer   
    Cliente feliz toca o barco eheeheh 👍
  2. Tiago Craici - Xperiun's post in Business Case: Análises Comerciais - DAX was marked as the answer   
    @Bruno Diego De Almeida


     
    Caso atendido seu objetivo, por gentileza marque a Melhor resposta para o tópico, para isso basta ir naquela que mais te ajudou e clicar nas opções conforme print:

     
     
  3. Tiago Craici - Xperiun's post in Rank Fixo por Dia, Mês e Ano was marked as the answer   
    Olá @Miguel Costa

    No visual você utilizou o campo "Cliente"  da tabela fVenda, correto é da dCliente:



    Veja como ficou após alteração:

  4. Tiago Craici - Xperiun's post in Tabela virtual was marked as the answer   
    Olá @Lincoln Brant

    Veja se atende:
    Resultado (em amarelo estava em branco):




     
    EVALUATE ADDCOLUMNS(     SUMMARIZECOLUMNS(         dim_calendario[Data],         dim_unidade[Unidade],         dim_hora[cod_horas]     ),     "Moagem",     IF([Total de moagem] = BLANK(), 0, [Total de moagem])     )
  5. Tiago Craici - Xperiun's post in Filtros dinamicos was marked as the answer   
    Olá @Gabriel Reis
    Veja se atende seu objetivo...

    Resultado:






    Medida:
     
    Venda grafico Dias = IF (     ISFILTERED ( dCalendario[Nome do Mês] ) = FALSE (),     CALCULATE (         [Total Venda],         dCalendario[Ano] = YEAR ( TODAY () ),         dCalendario[Mês] = MONTH ( TODAY () )     ),     [Total Venda] )
    Segue pbix em anexo.


     
    Exemplo Gabriel.pbix
  6. Tiago Craici - Xperiun's post in Projeção de Vendas was marked as the answer   
    lembrando que essa é apenas uma das diversas técnicas... 
  7. Tiago Craici - Xperiun's post in Filtrar Data dentro contesto atual was marked as the answer   
    Olá @Jamilson
    Veja se atende seu objetivo:

    Resultado:



    Medida:
     
    Solucao Tiago = SWITCH(TRUE(),     SELECTEDVALUE(dCalendario[Ano]) < YEAR(TODAY()), DIVIDE([Qtd. ocorrencia], [DiaMes]),     SELECTEDVALUE(dCalendario[Ano]) = YEAR(TODAY()) && SELECTEDVALUE(dCalendario[Mês]) < MONTH(TODAY()), DIVIDE([Qtd. ocorrencia], [DiaMes]),     SELECTEDVALUE(dCalendario[Ano]) = YEAR(TODAY()) && SELECTEDVALUE(dCalendario[Mês]) = MONTH(TODAY()), DIVIDE([Qtd. ocorrencia], DAY(TODAY())) )

     
  8. Tiago Craici - Xperiun's post in Filtro Mes Atual was marked as the answer   
    Olá @Valmir Braz
    Veja se atende: 

    Quanto selecionado "Mês atual?" = Não, ele respeita o filtro ao lado:



    Quanto selecionado "Mês atual?" = Sim, ele pega o mês/ano atual (como no pbix não tinha os dados atualizado improvisei aqui):



    Nova tabela:



    Medida alterada:
    Venda Bruta = var _selecao = SELECTEDVALUE(MesAtualV2[Value])   RETURN SWITCH(TRUE(),     _selecao = "Não",      SUMX(vwFactVendas,     vwFactVendas[Quant]*RELATED(vwDimProduto[PrecoUnit])     ),     _selecao = "Sim",     CALCULATE(         SUMX(vwFactVendas,         vwFactVendas[Quant]*RELATED(vwDimProduto[PrecoUnit])         ),         FILTER(dCalendario,         dCalendario[Ano] = 2019 &&  // troque para: YEAR(TODAY())         dCalendario[Mês Num.] = 3 // troque para: MONTH(TODAY())         )     ) ) OBS na sua base produção altere a medida conforme mencionei acima.

    Em anexo o pbix. 


     
    1-Sand Box (1).pbix
  9. Tiago Craici - Xperiun's post in Não consigo criar Medidas Dax! was marked as the answer   
    Olá @Jonatan Souza, aparentemente está tudo normal aqui, fiz um teste abaixo e não deu erro:





    Mostre a medida que deseja criar. 
  10. Tiago Craici - Xperiun's post in Colocar a média no Subtotal de Linha da Matriz was marked as the answer   
    @ALisson Murilo da Cunha

    Veja se a medida abaixo te atende:
     
    Media no final = 
    var _Media =
    AVERAGEX(
        VALUES(dCalendario[Mês]),
        [Performance de Estoque]
    )
    var _Venda = [Performance de Estoque]
    RETURN
    IF( ISINSCOPE(dCalendario[Mês]), _Venda, _Media )




    2º Seu total não está batendo por conta de sua medida, certamente ela está avaliando contexto de "Mês" e seu total é outro contexto diferente do mês. 

     
  11. Tiago Craici - Xperiun's post in Datas diferentes de onde se comeca was marked as the answer   
    ... No  Power Query, tabela dCalendary na coluna "Week of Year" vamos definir qual o dia que começa a semana (domingo) passando o parâmetro 0 (zero), 

    Altere o código M para: = Table.AddColumn(#"Inserted Day", "Week of Year", each Date.WeekOfYear([Date], 0), Int64.Type)


    Dentro da função Date.WeekOfYear definimos que a semana começa no domingo corrigindo essa divergência.
     
  12. Tiago Craici - Xperiun's post in Eixo X Customizado - Meses Selecionados VS Outros was marked as the answer   
    Prefeito @jsp.almeida1983, interessante a solução... Qualquer dúvida pode estar postando aqui, difícil sair uma sem solução eheeheh. 

    Refiz a medida DAX conforme objetivo seu. Achei bem mais simples que a apresentado pelo amigo do outro Fórum... 

    Segue solução:
    Resultado




    Medida:
    Total Venda Tiago = IF (     ISFILTERED ( dCalendario[Mês Abrev Proper v1] ),     SWITCH (         TRUE (),         SELECTEDVALUE ( dCalendarioAUX[Mês/Ano] ) = "OUTROS",             CALCULATE ( [Total Vendas], ALLEXCEPT ( dCalendario, dCalendario[Ano] ) )                 - CALCULATE ( [Total Vendas], ALL ( dCalendarioAUX ) ),         SELECTEDVALUE ( dCalendarioAUX[Mês/Ano] ) = "PERÍODO", CALCULATE ( [Total Vendas], ALL ( dCalendarioAUX ) )     ),     [Total Vendas] )


    pbix atualizado em anexo 👍

     
    Periodo_VS_Outros.pbix
  13. Tiago Craici - Xperiun's post in Calcular Diferença entre Semanas was marked as the answer   
    Olá @Joao Raulino e @Claudionor 

    Utilizando a função DAX "DATEADD" não vai atender a seu objetivo Claudionor. Primeiro que essa função passando os parâmetros -7, DAY vai retornar o total referente à 7 dias passado ao "CONTEXTO" (Em uma tabela com Data e valor de Consumo vai entender o comportamento da mesma)... 

    Falando em contexto... Em seu card não há contexto de data, com isso vai trazer o valor total (Consumo).
    Até poderíamos utilizar a função "WEEKNUM" mas teria um problema na virada de ano (primeira semana do ano)... Com isso pensei na seguinte solução:



    1º Na sua dimensão dCalendario criar uma nova coluna com a "SemanaContinua", segue medida abaixo:
    SemanaContinua = IF (     dCalendario[Ano] = YEAR ( MIN ( dCalendario[Data] ) ),     + WEEKNUM ( dCalendario[Data], 2 ),     ( YEAR ( dCalendario[Data] ) - YEAR ( MIN ( dCalendario[Data] ) ) ) * 53         + WEEKNUM ( dCalendario[Data], 2 ) - 1 )

    ---> Agora vamos para o objetivo (trazer o valor de consumo da semana atual e no mesmo cartão a diferença percentual da semana anterior.)

    Medida: 
     
    Semana atual x anterior = var _SemanaAtual = CALCULATE(     SELECTEDVALUE(dCalendario[SemanaContinua]),     dCalendario[Data] = TODAY() )   var _SemanaAnterio = _SemanaAtual -1   var _ValorSemanaAtual = CALCULATE(     [Total Venda],     dCalendario[SemanaContinua] = _SemanaAtual )   var _ValorSemanaAnterior = CALCULATE(     [Total Venda],     dCalendario[SemanaContinua] = _SemanaAnterio )   var _Diferenca = DIVIDE(  _ValorSemanaAtual - _ValorSemanaAnterior, _ValorSemanaAnterior )   RETURN _Diferenca

    OBS: Não se esqueça de colocar a formatação da medida em percentual.  ---> altere a [Total Venda] com sua medida de Consumo. 


    Depois nos conte se deu certo @Claudionor 👍
  14. Tiago Craici - Xperiun's post in Soma de dias sem somar os fins de semana was marked as the answer   
    @LGustavo favor validar a medida abaixo:


     
    Finalização Corte =
    VAR vCapacidadeTotal = [Na Fase Corte] + [Chegando Corte] //Soma da quantidade que está e vai chegar no setor
    VAR vQtdDias = DIVIDE ( vCapacidadeTotal, [Capacidade Diaria Corte] ) //Quantidade de dias para acabar toda a demanda
    var _Tabela =   //tabela virtual desconsiderando final de semana (sáb/dom) 
    CALCULATETABLE(
        ADDCOLUMNS(dCalendario,
        "@Data", dCalendario[Data]
        ),
        NOT WEEKDAY ( dCalendario[Data] ) IN { 1, 7 },
        dCalendario[Data] >= TODAY()
    )
    RETURN 
    MINX(
        INDEX(
            vQtdDias,  // retorna a posição do dia da tabela virtual (valor da variável vQtdDias)
            _Tabela,
            ORDERBY(dCalendario[Data], ASC)
        ),
        dCalendario[Data])
  15. Tiago Craici - Xperiun's post in Análise Vertical nos subníveis da DRE was marked as the answer   
    Olá @Tiago Soares! 
    Veja se é este o resultado esperado:



    Se for é só incluir ( ALL('dPlano de Conta') ).
  16. Tiago Craici - Xperiun's post in YoY Acumulado Meses was marked as the answer   
    Olá @ntatiane! 
    Veja se a medida te atende:


    YOY Acumulado =
    VAR _EsteAno =
        CALCULATE ( [Total Venda], DATESYTD ( dCalendario[Data] ) )
    VAR _AnoPassado =
        CALCULATE (
            CALCULATE (
                CALCULATE ( [Total Venda], DATESYTD ( dCalendario[Data] ) ),
                DATEADD ( dCalendario[Data], -1, YEAR )
            ),
            FILTER ( dCalendario, [Total Venda] > 0 )
        )
    RETURN
        DIVIDE ( _EsteAno - _AnoPassado, _AnoPassado )



     
  17. Tiago Craici - Xperiun's post in Botão que habilita outro was marked as the answer   
    Olá @Fabricio Correa Da Costa! Da uma olhada no link abaixo, no blog da Xperiun tem um post sobre:
    https://xperiun.com/blog/como-organizar-seus-dashboards-em-menus-de-navegacao/


     
  18. Tiago Craici - Xperiun's post in Segmentação de acordo com os meses was marked as the answer   
    outra solução... Caso não queira adicionar nova coluna (MesAno) em sua dCalendario:


     
    Tiago = var _tab = SUMMARIZE(     dCalendar,     dCalendar[Month],     dCalendar[Year],     "Mes",     DISTINCTCOUNT(dCalendar[Month]) )   return  IF(     OR( ISFILTERED(dCalendar[Date].[Quarter]), ISFILTERED(dCalendar[Date].[Year]) ),     COUNTROWS(_tab) )
  19. Tiago Craici - Xperiun's post in Diluir Meta da Marca em Skus was marked as the answer   
    Fala Incomparável @Ronnie Costa! 
    Que desafio em aahahahah. Seguinte, conforme o ditado "Se o DAX está complexo vale apena rever o ETL"... 

    Observações: Desenvolvi o resultado conforme o modelo (pbix) que passou. Para ser mais assertivo seria necessário uma base atualizada, o maior objetivo é te passar a lógica que cheguei para atender o objetivo, em seguida adapte para sua realidade.  

    1º Criei uma nova coluna (SKU normaliza) para ser relacionado com a tabela fMeta (observado padrão de SKU, vale ver seu cenário se isso é possível). 

    2º medida criada:
    Media Diluida = var _Vendedor = SELECTEDVALUE(dVendedor[Cod. Vendedor]) var _Meta = [Total Meta] var _Produto = LEFT(SELECTEDVALUE(dProduto[Sku]), 9) var _MediaSKU = AVERAGEX(     CALCULATETABLE(         'dCalendário',         DATESINPERIOD(             fVendas[Data],             EOMONTH(TODAY(), -1),             -2,             MONTH)     ),     [Total Venda] ) var _MediaSKUnormalizado = AVERAGEX(     CALCULATETABLE(         'dCalendário',         DATESINPERIOD(             fVendas[Data],             EOMONTH(TODAY(), -1),             -2,             MONTH)     ),     CALCULATE([Total Venda], ALL(dProduto), dProduto[SKU normalizado] = _Produto, ALL(dVendedor)) ) var _Representatividade = DIVIDE(_MediaSKU, _MediaSKUnormalizado)   RETURN SWITCH(TRUE(),     ISINSCOPE(dProduto[Sku]), _Meta * _Representatividade,     ISINSCOPE(dVendedor[Cod. Vendedor]) && [Total Venda] >0,  CALCULATE([Total Meta], fMetas[Cod. Vendedor] = _Vendedor)     )
    Resultado:



    ⚠ Considerei somente produtos que tiveram venda para o vendedor (contexto). 


    ➡ Em anexo o pbix para entendimento.






     
    Meta diluida por produto.pbix
  20. Tiago Craici - Xperiun's post in Envio de xls para gerentes was marked as the answer   
    @Tiago Bocardi


     
    Caso atendido seu objetivo, por gentileza marque a Melhor resposta para o tópico, para isso basta ir naquela que mais te ajudou e clicar nas opções conforme print:

     
     
  21. Tiago Craici - Xperiun's post in RLS PARA RESTRINGIR SALARIO was marked as the answer   
    Olá @PauloAlmeida! 

    Talvez um caminho utilizando DAX seria validar qual usuário está logado no PB Service. 
    Tem a função "USERPRINCIPALNAME" que atenderia. 

    medida de salario = 
    if ( USERPRINCIPALNAME in {"aaaa, bbbb, cccc"}, [medidaSalario], "*" ) 


    Pode tbm estar criando uma tabela auxiliar que determina qual usuário poder ver o salário. 



    Sucesso ae, espero ter dado um norte. Receita pronta não tenho no momento, seria necessário analisar seu pbix e regra de negócio.  
  22. Tiago Craici - Xperiun's post in FILTRANDO MEDIDA COM OUTRA MEDIDA was marked as the answer   
    @santomx45

     
    Caso queira o último trimestre do ano passado ao contexto "mês/ano" avaliado pode utilizar a medida abaixo:

    Procedimentos SP last 4 month =
    VAR _Ano =
        SELECTEDVALUE ( dCalendario[Ano] ) - 1
    VAR _result =
        CALCULATE (
            [Qtd Procedimentos],
            FILTER (
                ALL ( dCalendario ),
                dCalendario[Ano] = _Ano
                    && dCalendario[Trimestre] = 4
            )
        )
    RETURN
        _result

    OBS: Sua dCalendario deve ter a coluna com trimestre (dCalendario[Trimestre])

    ------------------------------------------------------------------------------------------------------------------------------------------------
    Caso queira os últimos três meses em referência ao contexto pode utilizar a medida abaixo:
    Procedimentos SP last 4 month = 
    var _dataMAX = 
    CALCULATE (
       MAXX( dCalendario, dCalendario[Data] ),
        DATEADD ( dCalendario[Data], -1, MONTH )
    )
    var _result = 
    CALCULATE(
        [Qtd Procedimentos],
        DATESINPERIOD(
            dCalendario[Data],
            _dataMAX, 
            -3 , MONTH
        )  
    )
    return 
    _result



    Caso ainda não atender me avise. 
  23. Tiago Craici - Xperiun's post in Formatação Condicional was marked as the answer   
    Olá @Sandro Lima! 

    Clica com o botão direito do mouse sobre sua medida:


     
  24. Tiago Craici - Xperiun's post in colocar vários dash em um painel was marked as the answer   
    Da uma olhada no vídeo abaixo:

     
     
  25. Tiago Craici - Xperiun's post in Filtro/Parametro was marked as the answer   
    Olá @Diego_Flores! 
    Veja se atende seu objetivo, exemplo botão filtrando somente "Abaixo do Estoque de Segurança":


    Agora "Acima do estoque máximo":



    Primeiro criei uma nova tabela para termos os botões de filtro:




    Foi alterado sua medida "FILTROS" para:
    FILTROS = VAR _filtro =     SELECTEDVALUE ( _TextoEstoque[filtro] ) VAR _todos =     SWITCH (         TRUE (),         [Acumulado saldo] = 0, "Produto com estoque zerado",         [Acumulado saldo] > [estoque maximo], "Acima do estoque máximo",         [Acumulado saldo] < [ponto de pedido], "Abaixo do Ponto de Pedido",         [Acumulado saldo] < [estoque de segurança], "Abaixo do Estoque de Segurança",         [Acumulado saldo] > [ponto de pedido], "Compra desnecessaria"     ) RETURN     IF (         ISFILTERED ( _TextoEstoque[filtro] ),             SWITCH (                 TRUE (),                 _filtro = "Produto com estoque zerado" && [Acumulado saldo] = 0, "Produto com estoque zerado",                 _filtro = "Acima do estoque máximo" && [Acumulado saldo] > [estoque maximo], "Acima do estoque máximo",                 _filtro = "Abaixo do Ponto de Pedido" && [Acumulado saldo] < [ponto de pedido], "Abaixo do Ponto de Pedido",                 _filtro = "Abaixo do Estoque de Segurança" && [Acumulado saldo] < [estoque de segurança], "Abaixo do Estoque de Segurança",                 _filtro = "Compra desnecessaria" && [Acumulado saldo] > [ponto de pedido], "Compra desnecessaria"             ),         _todos     )

    No filtro lateral adicionei a seguinte condição:




    Em anexo o pbix.

     
    Compras_2.pbix
×
×
  • Criar Novo...