Ir para conteúdo

Rodrigo R1

Alunos
  • Total de itens

    420
  • Registro em

  • Última visita

Posts postados por Rodrigo R1

  1. Boa noite @murilo. Tudo bem amigo?

    Não tem problema vc utilizar as chaves PK e SK do seu DW para relacionamentos entre as tabelas.

    O único ajuste que vc precisa fazer para utilizar as funções de inteligência de tempo do PBI é informar qual a sua tabela/coluna de data padrão do seu modelo, conforme tela abaixo:

    image.png.14f406afcd03116c8ee5258da004b62c.png

    Abre o menu Arquivo e depois em opções e depois em carregamento de dados, conforme tela abaixo, para verificar se o item de identificação automática de data está marcado:

    image.png.437208973e8974246295bb440c7b5b67.png

    Você pode optar por deixar desmarcado para você mesmo fazer o passo que falei antes.

    E depois vc mesmo vai poder criar também as suas próprias hierarquias de datas.

    Espero que tenha ajudado.

    Sucesso aí.

  2. Bom dia @Eduardo da Costa Manente. Tudo bem amigo?

    Fiz outro teste aqui, acho que agora vai dar certo...rsrsrsrs

    Precisamos inverter a ordem dos dados dentro do Switch - colocar para ele analisar primeiro a menor granularidade que vc quer visualizar:

    Título Tooltip Receita Caminhão =

    SWITCH(

    true,

    HASONEVALUE(DimTempo[Semana do Mês]), "Receita Bruta: " & SELECTEDVALUE(DimTempo[Semana do Mês]),

    HASONEVALUE(DimTempo[Mês Abreviado]), "Receita Bruta: " & SELECTEDVALUE(DimTempo[Mês Abreviado])

    )

    Fiz até um exemplo aqui pra vc verificar que vai dar certo dessa vez...rsrsrs

     

    image.png.1e449bcf0adbe979deadab7f2cfd4d92.png

    Nesse meu exemplo eu ainda adicionei o ano ao final do mês.

    As granularidades são diferentes das suas, mas o raciocínio é o mesmo.

    Espero que enfim, tenhamos chegado na sua solução amigo?

    Sucesso aí.

  3. 12 minutos atrás, Rodrigo R1 disse:

    Boa tarde @Eduardo da Costa Manente. Tudo bem amigo?

    Ajuste a sua medida para:

    IF(ISINSCOPE(DimTempo[Mes]), "Receita Bruta: "& SELECTEDVALUE(DimTempo[Mês]),
    "Receita Bruta: "& SELECTEDVALUE(DimTempo[Semana do Mês]))

    Espero que tenha ajudado, amigo.

    Sucesso aí.

     

    ou pode ser que seja também:

    IF(SELECTEDVALUE(DimTempo[Mes]), "Receita Bruta: "& SELECTEDVALUE(DimTempo[Mês]),
    "Receita Bruta: "& SELECTEDVALUE(DimTempo[Semana do Mês]))

  4. Boa tarde @phillype freitas de aquino, tudo bem amigo?

    Testou a minha sugestão?

    Deu certo? Ou não era o que vc precisava?

    Se minha sugestão foi a solução para o seu caso, gentileza fechar o tópico, amigo.

    Caso ainda não tenha encontrado a resposta, favor se manifestar para eu ou outro colega continuar lhe ajudando.

    O que não pode é ficar a dúvida sem resposta e aberta ainda no fórum...rsrs...

    Sucesso aí.

  5. Boa tarde @Marília Maragno, tudo bem?

    Sugiro algumas aulas do curso do Leo para que você possa alcançar o seu resultado esperado.

    Pelo que entendi você está fazendo uma segmentação de clientes, então as aulas sobre esse tópico são:

    a Live 23: [Live #23 Mestre Power BI] Usando DAX para Segmentar Clientes por RFV: Recência, Frequência e Valor - Lives sobre Linguagem DAX - Pilar 4 (powerbiexperience.com)

    A Live 27 também tem uma parte direcionada para segmentação dinâmica: [Live #27 Mestre Power BI] Análises Avançadas com DAX: Segmentação Dinâmica, Comparação Anual, etc.. - Lives sobre Linguagem DAX - Pilar 4 (powerbiexperience.com)

    As duas aulas do curso de hands on dax:

    Segmentação Estática - Curso de DAX Avançado e Hands-On (powerbiexperience.com)

    Segmentação Dinâmica: Relacionamento Virtual - Curso de DAX Avançado e Hands-On (powerbiexperience.com)

    Espero que tenha conseguido ajudar de alguma forma.

    Sucesso aí.

  6. Boa tarde @delmarmachado, tudo bem, amigo?

    Poderia explicar melhor a sua dúvida?

    É muito importante para quem ajuda ter uma base de dados, mesmo que fictícia, e uma demonstração do resultado esperado.

    Por exemplo: você quer mostrar esse cálculo numa coluna calculada ou numa medida?

    Você menciona que o resultado esperado se baseia numa coluna de data. Acredito ser necessário utilizar uma dcalendário para chegar no seu resultado tbm...

    Enfim....são hipóteses que somente com maior riqueza de detalhes do seu problema o pessoal aqui do fórum poderá lhe ajudar de forma mais assertiva e tempestiva.

    Sucesso aí, amigo.

  7. Bom dia @Cardoso. Tudo bem amigo?

    Para que você consiga uma resposta mais efetiva à sua dúvida, sugiro você esclarecer o que precisa com riqueza de detalhes.

    Se possível anexar exemplos, bases de dados, resultado esperado, etc...quanto mais informações melhor para quem vai analisar sua dúvida e para você também receber sua resposta tempestivamente.

    Então, peço para aprofundar nos esclarecimentos sobre a sua pergunta, porque eu não entendi o que você chama por "notas de atendimento" e como você pretende utilizar no seu modelo de dados.

    Sucesso aí, amigo.

     

  8. Grande @Felipe G Martins, bom dia. 

    Achei demais a sua solução, até por não conhecer o comportamento da ALLCROSSFILTERED. 

    Passei uma solução do tipo "ajustes técnicos" (rrsrsrs....pra dizer gambiarra...rsrsrs) e você apresentou a verdadeira solução para seu caso.

    Como o Leo gosta de dizer: "mais elegante".

    Por isso, acredito que os méritos são todos seus e que a melhor solução apresentada foi de longe a sua. 

    Assim, nada mais justo que você marcar sua resposta como a melhor solução - já que esse é o propósito aqui do fórum.

    Até para outros colegas ao pesquisarem, saber que a sua solução foi a ideal para algum caso semelhante.

    Esse fórum é bom demais por isso, que ao tentar ajudar a gente aprende muito mais.

    Gratidão por você compartilhar sua solução, amigo.

    Sucesso aí. 

  9. Boa noite @Felipe G Martins, tudo bem amigo?

    Para isso, será preciso você ter em seu modelo duas tabelas dcalendário, conforme abaixo:

    image.png.1a488858a8446f13171ff1c0b0899c01.png

    A coluna de data da primeira tabela dcalendário, vc irá usar no segmentador de dados do seu visual.

    A coluna de data da segunda tabela dcalendario (dcalendarioAux), vc irá utilizar no seu TOOLTIP apenas.

    Além disso, será preciso remover o filtro de data que vem da primeira tabela dcalendario, na medida que será usada dentro do TOOLTIP, assim:

    Valor Total Dica Ferramenta = CALCULATE(SUM(Fato[Valor]),all(dcalendario))

    O resultado seria assim, conforme sua base de dados informada:

     

    image.thumb.png.d8befb8be3c7b8f180062aecf72d5431.png

    Espero que tenha conseguido ajudar, amigo.

    Sucesso.

  10. Boa noite @Felipe Emmanuel, tudo bem amigo?

    Para a sua solução eu criei um modelo semelhante para que pudesse chegar no resultado.

    Na próxima dúvida, gentileza anexar uma base de dados fictícia ou o próprio PBIX para facilitar a ajuda...rsrrs

    Vamos lá....

    Para isso as medidas criadas foram:

    Soma = sum(Fato[Valor])

    Ranking =

    CALCULATE(

    RANKX(ALL(Cliente[Cidade]), [Soma]),

    ALL(Cliente[Cliente]), VALUES(Cliente[Cidade]))

    Veja o resultado:

    image.png.cd16ceb43a63a6ff2a15e78a9e4e6882.png

    Importante entender que a sua necessidade é ajustar a sua medida conforme seu contexto de avaliação. Para ajustar a medida de ranking, foi usada a CALCULATE e filtros para remover contexto de cliente (ALL) mas considerar o contexto de cidade (VALUES).

    Espero que tenha conseguido ajudar.

    Sucesso, amigo.

  11. Prezados Bruno's @Bruno Wantil e @Bruno Abdalla de Souza, tudo bem amigos?

    Permitam-me uma sugestão.

    Primeiros passos Power Query:

    1. duplicar as tabelas riscos e funcionários,

    2. Fazer um merge com a tabela de ambiente funcionário com essa tabela risco duplicada,

    3. essa tabela resultante do merge será a fato do modelo,

    3. desabilitar a carga dessa tabela risco que foi feito o merge.

    4. na outra tabela de risco deixar apenas os códigos dos riscos,

    5. na outra tabela funcionário deixar apenas os códigos dos funcionários;

    Feito isso, o modelo terá 5 tabelas no Power Query, sendo 4 que serão carregadas para o Power Bi e outra que a carga foi desabilitada no passo 3.

    Os relacionamentos ficaram assim:

     

    image.thumb.png.6283227b2fcacf134232320826cad407.png

    Feito isso, basta usar as colunas que irá encontrar os funcionários que pertencem a cada ambiente e quais riscos eles estão sujeitos naquele ambiente específico, conforme abaixo:

    image.png.8da3195dfb189f5764d7c6d00f0e4eed.png

    A hierarquia acima está por:
    Ambiente, depois matrícula do empregado e depois os riscos que eles estão sujeitos.

    Espero que tenha conseguido ajudar.

    Sucesso amigos.

  12. Prezados @Cardoso e @Victor Gomide, boa noite amigos.

    Peço permissão para sugerir uma solução:

    Como o @Cardoso deseja exibir em visuais de cartão, será necessário criar uma medida para cada visual, sendo que para se comparar períodos iguais entre anos anteriores, será preciso ajustar as medidas e também o modelo de dados.

    Primeiro passo é criar uma coluna na dcalendário que irá verificar se existe dado na tabela fato - essa informação será usada como filtro na tabela de data do contexto avaliado:

    Possui dados = dCalendario[Data] <= max(fDados[Data])

    Essa coluna será do tipo  TRUE/FALSE e irá verificar qual a última data que houve faturamento na fato, eliminando assim, datas futuras, para se fazer a comparação de períodos anteriores e iguais.

    As medidas serão:

    Soma = sum(fDados[Valor])

    Faturamento Atual =

    var diamax = max(fDados[Data])

    var anomax = YEAr(diamax)

    return

    CALCULATE([Soma],

    dCalendario[Ano] = anomax)

     

    Ano Anterior =

    CALCULATE(

    [Soma],

    CALCULATETABLE(

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

    dCalendario[Possui dados] = TRUE))

     

    2 Anos Anteriores =

    CALCULATE(

    [Soma],

    CALCULATETABLE(

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

    dCalendario[Possui dados] = TRUE))

     

    3 Anos Anteriores =

    CALCULATE(

    [Soma],

    CALCULATETABLE(

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

    dCalendario[Possui dados] = TRUE))

     

    As medidas foram construídas de forma dinâmica, levando em consideração o contexto máximo - que nesse caso o ano máximo é 2022.
    Portanto, quando estiver no ano que vem - 2023 - o contexto será atualizado dinamicamente sendo que o ano de 2023, passará a ser o ano atual e os demais irão buscar os períodos anteriores com base nesse novo contexto de ano. O que irá evitar também a manutenção do relatório, ao contrário de caso optar por definir na medida que o ano atual é 2022 - o que tbm pode ser feito sem problemas...rsrsrs...mas enfim...

    Espero que tenha ajuda a solucionar sua dúvida, amigo.

    Sucesso pra vocês.

    • Like 1
    • Thanks 1
  13. Boa noite @phillype freitas de aquino, tudo bem amigo?

    Vamos lá...a minha sugestão é a seguinte:

    Na sua dcalendário vc irá criar uma nova coluna de dia - que serão os dias de cada mês:

    image.thumb.png.77268c5c826a87bc916f977f44ea291f.png

    Feito isso vc vai criar sua medidas para somar os valores - SUM da coluna de valor da fato.
    Soma = sum(fDados[Valor])

    Depois outra medida para calcular a variação do mês anterior - só que aqui será o detalhe: vc vai colocar o values para a coluna de dias que vc criou acima na sua dcalendario:

    MoM = CALCULATE(

    [Soma],

    PREVIOUSMONTH(dCalendario[Data]),

    VALUES(dCalendario[Dia]))

    Com isso o PBI irá levar em consideração o contexto de dias e irá trazer o seu resultado esperado.

    Depois disso vc poderá criar sua medida de variação:

    % ▲ =

    Var anterior = CALCULATE(

    [Soma],

    PREVIOUSMONTH(dCalendario[Data]),

    VALUES(dCalendario[Dia]))

    Var atual = [Soma]

    return

    divide(atual - anterior, anterior)

    e o resultado será esse:

    image.png.76cc4c74efd0dac0915f74914810a1c0.png

    Veja que no meu exemplo a medida "Soma", traz o valor de todo o mês, de todos os dias.

    Veja Janeiro que está com 11.063,29.

    Já a medida "MoM" irá considerar o valor do mês anterior levando em consideração os dias coincidentes:

    Veja que agora o valor considerado referente à janeiro é de 9.078,90.

    E se a gente consultar a tabela em Janeiro, iremos identificar os valores abaixo para os dias 29 a 31/01:

    image.png.62f14b00ce6ee369d1d5db12f279fc22.png

    Assim, 11.063,29 - 932,52 - 385,47 - 666,40 = 9.078,90 - exatamente o valor considerando os dias coincidentes, conforme acima.

    Dessa maneira, a medida de %▲ estará considerando a mesma quantidade de dias entre os meses analisados.

    OBS.: fiz assim passo a passo para facilitar o entendimento. Mas claro que vc poderá fazer o cálculo final usando menos passos em uma só medida - a sua escolha.

    Espero que tenha conseguido te ajudar.

    Sucesso, amigo.

  14. Boa noite @Clóvis....

    Ah sim, entendi como vc fez!

    Mas veja que tem uma pequena diferença aí...rsrsrs

    Sugiro vc não reescrever a medida original dentro da nova medida que vc irá utiliza-la no gráfico.

    Parece que não faz sentido isso que estou dizendo, mas logo vc vai entender...rsrs....pq acho que ela acabou confundindo vc, quanto aos filtros que se fazem necessários na nova medida do gráfico.

    Se vc perceber bem, vc reescreveu a medida original e esqueceu de incluir os novos filtros necessários para ela funcionar dentro do gráfico. Acho que isso pode ter confundido você, amigo. Por isso a minha sugestão de usar a medida criada anteriormente.

    Portanto, a sua medida original está nomeada como: Total Chamados em Aberto - assim, coloque ela dentro da Calculate, conforme abaixo:

    Backlog N meses =

     VAR vNmeses = [NMeses Valor]

    VAR vDataFiltro = MAX(dCalendario[Date])

     VAR vUltimosNmeses =

    DATESINPERIOD(dCalendarioAux[Date],

    vDataFiltro,

    -vNmeses,

    MONTH

    )

     VAR vResultado =

    CALCULATE( [Total Chamados em Aberto],

    ALL(dCalendario),

    KEEPFILTERS(vUltimosNmeses),

    USERELATIONSHIP(incidents[dataAbertura],dCalendarioAux[Date])

    )

    RETURN vResultado

     

    Faça um teste por gentileza e veja se agora irá corrigir.

    Grande abraço e sucesso meu amigo.

     

     

     

×
×
  • Criar Novo...