Forum Discussion

admfabiomachado's avatar
6 years ago
Solved

DAX IF with date interval

Table 1 is a base of callcenter calls. this table shows only the extension, but not the station that answered the call. Table 2 shows the extension distribution over time. See, for example, extension 5710. He went from the Santo André post until 05/13/2020. From 05/14 he will be from Osasco. In spreadsheet 1, the call from the 13/05 should appear Santo André in the column "posto". On the call of 05/14, Osasco should appear in the "posto" column. How to solve? 😞

  • camargos88's avatar
    camargos88
    6 years ago

    admfabiomachado ,

     

    Tenta criar essa coluna:

     

    id_posto = CALCULATE(DISTINCT(ramais[id_posto]);
    FILTER(
    ramais;
    ramais[data_inicio] <= DATEVALUE(ligacoes[data]) &&
    IF(ISBLANK(ramais[data_fim]); DATEVALUE(ligacoes[data]); ramais[data_fim]) >= DATEVALUE(ligacoes[data])
    )
    )

7 Replies

  • camargos88's avatar
    camargos88
    Icon for Community Champion rankCommunity Champion

    Oi admfabiomachado ,

     

    Você vai fazer isso usando medida ? Se for, pega o id_ramal e compara apenas a data da tabela 1 com alguma data da tabela 2.

     

    (data_1 = data_inicio ou data_1 = data_fim)

    Ou também 

    data_inicio >= data_1 e  data_fim >= data_1

     

    Talvez ajude se não tiver data encavalada.

     

    Se tiver uma dimensão de ramais, vai ajudar no cálculo, e pode ser que nem precise da tabela 1.

    • admfabiomachado's avatar
      admfabiomachado
      Icon for Helper I rankHelper I

      Olá, Camargo,

      Obrigado!

       

      A tabela 1 é a principal, que vem do SQL da empresa de callcenter. Infelizmente lá spo tenho o ramal que atendeu, mas não é possível vincular ao posto. Como esse ramal pode mudar ao longo do tempo. Ex: o ramal 5710 era do posto Santo André até 13/05. A partir de 14/05 passou a ser de Osasco. 

       

      Na tabela 1, pretendia criar uma coluna calculada. Pesquisando, alguém sugeriiu usar LOOKPVALUE combinando com as condicionais IF e AND. Ele me mostrou uma estrutura básica da função que devo incluir na coluna calculada "posto" da tabela 1, mas não entendi rsrsrs. Não sou da área. Essa ajuda é para uma grande ONG, sei usar o Power BI e assim que resolver essa questão, tudo estará resolvido. Veja a estrutura indicada que não soube usar:

       

      posto = var data_inicio = LOOKUPVALUE("preciso incluir as variáveis aqui, mas não sei quais")

      var data_fim = LOOKUPVALUE("preciso incluir as variáveis aqui, mas não sei quais")

      return IF(AND("incluir as condições"; "resposta se verdadeira (exibir nome do posto)", "resposta se falsa (não sei o que retornar aqui")

       

      rs que desafio hein;;; Quero muito ajudar essa ONG, já estou perdendo as esperanças. 😞 Abraços!

      • camargos88's avatar
        camargos88
        Icon for Community Champion rankCommunity Champion

        admfabiomachado ,

         

        Tem como fazer isso de várias formas. 

        Você pode compartilhar apenas os dados dessas fotos como exemplo, eu crio uma função e te mando o arquivo explicando o passo a passo ?