Forum Discussion
DAX IF with date interval
- 6 years ago
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])))
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 ?
Oi, camargos88 , puxa, cara, muiiiiito obrigado!!! Terei uma reunião com eles hoje a noite e já estava preocupado.
Tentei colar aqui um link do onedrive com o arquivo do power bi, mas foi excluído. Acho que não pode né. Seguem as tabelas:
TABELA LIGAÇÕES
| id_agente | data_ligacao | id_posto |
| 5921 | 10/05/2020 00:00 | |
| 5921 | 11/05/2020 09:05 | |
| 5840 | 12/05/2020 10:05 | |
| 5710 | 13/05/2020 10:05 | |
| 5710 | 14/05/2020 18:00 | |
| 6001 | 15/05/2020 10:00 |
TABELA RAMAIS:
| id_ramal | posto | data_inicio | data_fim | status |
| 5921 | 1 | 01/02/2020 | 31/12/2099 | ativo |
| 5840 | 1 | 10/03/2020 | 31/12/2099 | ativo |
| 5710 | 3 | 07/01/2020 | 13/05/2020 | inativo |
| 5710 | 4 | 14/05/2020 | 31/12/2099 | ativo |
| 6001 | 4 | 15/05/2020 | 31/12/2099 | ativo |
TABELA POSTOS
| id_posto | nome_posto |
| 1 | Mogi das Cruzes |
| 2 | Osasco |
| 3 | Santo André |
| 4 | Pinheiros |
O desafio é preencher a coluna id_posto da base ligacoes, considerando a faixa de data da tabela Ramais (deve aparecer o nome do posto somente se a data da ligação estiver dentro da faixa de data da tabela ramais - ou seja, se o registro da tabela ramais esteja ativo). Não haverá sobreposição de datas (ou seja, um mesmo ramal não estará em mais de um posto na mesma faixa de data)
lembrando que essa tabela ligacoes é gigante (26,5 milhoes de registros). Aqui nesse exemplo está só um modelo resumido com poucas linhas e poucas colunas.
Na tabela ramais, os registros que estão ativos estão com "data fim" em branco, mas as tabelas que estou disponibilizando agora estão com uma data no futuro do ano de 2099, para que seja possível validar uma faixa de data, caso seja esse o caminho.
Valeu!!!!!!!!!!