Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
isaqueandrade
New Member

Diferença entre datas | Difference Between Dates

Criei uma coluna calculada para me retornar a diferença dos dias acumulados entre data de entrada e data de alta. Se a data de alta estiver em branco, o valor vai acumulando conforme os dias forem passando, se tiver algum valor em Alta, será Alta-Saída.

IF(
ISBLANK('Internacao Deint'[Data Alta]),
TODAY()-'Internacao Deint'[Data Entrada],
'Internacao Deint'[Data Alta]-'Internacao Deint'[Data Entrada]
)
)
A questão é que, como é um cálculo entre datas, o valor somado não trás a informação correta, precisa colocar pra não resumir, porém eu preciso do total desse valor acumulado, se alguém souber alguma forma de contruir uma solução, fico muito grato.
---------------
I created a calculated column to return me the difference of the accumulated days between the entry date and the exit date. If the departure date is blank, the value will accumulate as the days go by, if there is any value in the exit, it will be entry-exit.
IF(
ISBLANK('Internacao Deint'[Data Alta]),
TODAY()-'Internacao Deint'[Data Entrada],
'Internacao Deint'[Data Alta]-'Internacao Deint'[Data Entrada]
)
)

The issue is that, as it is a calculation between dates, the added value does not bring the correct information, you need to put it not to summarize, but I need the total of this accumulated value, if anyone knows any way to build a solution, I would be very grateful.
11 REPLIES 11
MFelix
Super User
Super User

Olá  @isaqueandrade ,

 

Neste caso você deve utilizar a função DATEDIFF esta faz a diferença de datas e pode ser colocada em dias, meses, anos.

 

Tente a seguinte formula:

VALOR = IF(
ISBLANK(Tabela[Data Alta]) ,
DATEDIFF(Tabela[Data Entrada], TODAY(), DAY),
DATEDIFF ( Tabela[Data Entrada], Tabela[Data Alta],DAY)
)

 

Só uma questão com a conta como está representada aparecem valores a negativo, neste cálculo tenho valores positivos. Caso seja os valores negativos é só trocar a formula para:

 

 

VALOR = IF(
ISBLANK(Tabela[Data Alta]) ,
DATEDIFF( TODAY(), Tabela[Data Entrada], DAY),
DATEDIFF (  Tabela[Data Alta],Tabela[Data Entrada],DAY)
)

Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Miguel, desde já agradeço a disponibilidade.

Eu tinha tentado usar a DATEDIFF, porém me retorna um erro por eu estar usando o modelo de DirectQuery. 

isaqueandrade_0-1643294894237.png

Eu cheguei a criar essa medida: 

VAR DtAlta = SELECTEDVALUE('Internacao Deint'[Data Alta])
VAR DtEnt = SELECTEDVALUE('Internacao Deint'[Data Entrada])
RETURN
IF(
ISBLANK(DtAlta),
DATEDIFF(DtAlta,TODAY(),DAY),
DATEDIFF(DtEnt,DtAlta,DAY)
)
E me retorna a diferença correta, porém não mostra o total.

Boa tarde @isaqueandrade ,

 

Tendo em atenção que é uma medida terá que refazer o calculo para algo semelhante ao que está abaixo:

 

dias =
VAR DtAlta =
    SELECTEDVALUE ( 'Internacao Deint'[Data Alta] )
VAR DtEnt =
    SELECTEDVALUE ( 'Internacao Deint'[Data Entrada] )
RETURN
    SUMX (
        VALUES ( Table[Coluna] ),
        IF (
            ISBLANK ( DtAlta ),
            DATEDIFF ( DtAlta, TODAY (), DAY ),
            DATEDIFF ( DtEnt, DtAlta, DAY )
        )
    )

 

O valor que está em Table[Coluna] é a coluna que você utiliza como ID do detalhe da data de alta e entrada.

 


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Ficou assim: 

VAR DtAlta = SELECTEDVALUE('Internacao Deint'[Data Alta])
VAR DtEnt = SELECTEDVALUE('Internacao Deint'[Data Entrada])
RETURN
SUMX(
VALUES('Internacao Deint'[Data Competencia]),
IF(
ISBLANK(DtAlta),
DATEDIFF(DtAlta,TODAY(),DAY),
DATEDIFF(DtEnt,DtAlta,DAY)
)
)
Mas ainda não retornou o valor total.

Como é que está a fazer a visualização?

 

Você apresenta uma coluna no SUMX que é Data competencia este valor é único por cada linha da sua tabela? Ou tem valores repetidos?

 

Para que este cálculo funcione corretamente necessita de ter uma linha por cada valor, estou a assumir que as datas que refere de entrada e alta estão na mesma linha da tabela certo? 


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Sim, entrada e alta estão na mesma linha.. 

isaqueandrade_0-1643308204814.png

 

Ola @isaqueandrade

 

Neste caso deveria fazer uma medida com uma tabela temporária e que depois faria essa soma.

 

Todos os campos que surgem na tabela vêem da mesma tabela de dados? 


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Entendi.. Vou procurar saber como fazer isso.
Não, pegam de várias tabelas, das dimensões no caso.

Não tem problema em serem de várias tabelas.

 

Na tabela onde você tem as datas de entrada e saída tem algum campo que seja o ID da cirurgia.

 


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Entendi..

Cara, pior que não, não sei se no DB tenha, mas nessa base que estou olhando não.

@isaqueandrade ,

 

Sem conhecer o modelo e a forma como as  tabelas se relacionam é complicado dizer qual o real formato da medida, uma vez que as relações entre as tabelas podem alterar a forma como se faz o calculo.

 

Pelo que percebi no primeiro post você criou uma coluna calculada usando a diferença das colunas correto? no entanto quando você coloca na visualização nao trás os dados corretos.

 

Experimente adicionar a coluna como tinha no entanto depois crie uma medida com a soma dessa coluna e verifique se o resultado está correto.

 

Se não funcionar necessitava que me explicasse se os dados que você utiliza na sua tabela de que tab elas são e como estão relacionadas as tabelas umas com as outras de modo a fazer o calculado do SUMX.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.