Forum Discussion
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? 😞
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
Community 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
Helper 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
Community Champion
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 ?