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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
ankita_7
Helper II
Helper II

Cálculo para encontrar el valor de fecha anterior para cada fecha presente en el conjunto de datos

Tengo una tabla que tiene columnas value, ptient ID ,date,etc. Me enfrento a un desafío en la búsqueda de valor de peso anterior para cada fecha para esa identificación de paciente en particular. Supongamos que estoy comprobando la fecha de hoy, entonces debe haber una columna que me dé peso para hoy y una columna que muestre pesos en la fecha anterior si existen. Tengo una columna denominada value que consta de valores de peso por lo que estos valores de peso para un ID de paciente determinado estarán en fechas diferentes disponibles. Quiero mostrar una tupla que tenga identificación del paciente, sus pesos por fechas y peso anterior.

He adjuntado una captura de pantalla del conjunto de datos.powerbidataset.PNG

Quiero agregar una columna más a este conjunto de datos que tendrá el valor anterior de la columna value para cada fecha.

Por favor, alguien puede ayudarme a resolver estas matemáticas.

Gracias de antemano.

10 REPLIES 10
harshnathani
Community Champion
Community Champion

@ankita_7 ,

Pruebe esta medida.

Fecha de la fecha anterior ?
VAR a ?
MAX ( Tabla[Fecha] )
VAR b ?
CALCULAR (
MAX ( Tabla[Fecha] ),
FILTRO ( ALLEXCEPT(Table,Table[Patient No]), Table6[Date] < a )
)
devolución
b



Valor anterior ?
var _previousDate á [Fecha anterior]


devolución
CALCULATE(SUM(Table[Values]),FILTER(ALLEXCEPT(Table,Table[Patient No]),Table[Date] - _previousDate))
saludos
Harsh Nathani
¿Respondí a tu pregunta? ¡Marca mi puesto como solución! Apreciar con un Kudos!!

Gracias. Pude calcular el valor anterior cuando cambié sum() a max(). Pero hay un problema, quiero calcular el valor más reciente en esa fecha como el último valor de acuerdo con la marca de tiempo. La columna de fecha es una columna de tipo datetime, por lo que tengo fecha y hora. Pero utilicé la función max para calcular el valor único, por lo que me está dando un valor máximo para esa fecha y no más reciente. ¿Qué puedo hacer para obtener el último valor en esa fecha? La lógica que ha dado funciona perfectamente para las fechas que tienen un valor único de valor máximo como valor más reciente.

Hola @ankita_7 ,

Crear una medida

Paciente anterior No =
VAR a ?
MAX ( Tabla6[Fecha] )
VAR b ?
CALCULAR (
MAX ( Tabla6[Paciente No] ),
FILTRO ( ALLEXCEPT(Table6,Table6[Patient No]), Table6[Date] < a )
)
devolución
b
a continuación, utilice esta medida
Valor anterior ?
VAR _previousDate [Fecha anterior1]
VAR _patientno [No de paciente anterior]
devolución
CALCULAR (
MAX ( Tabla6[Valores] ) , )
FILTRO (
TODOS ( Tabla6 ),
Tabla6[Fecha] - _previousDate
&& Tabla6[No paciente] - _patientno
)
)
saludos
Harsh Nathani
¿Respondí a tu pregunta? ¡Marca mi puesto como solución! Apreciar con un Kudos!!

Thanks.Hemos intentado esto, pero no dando el último valor que está dando el valor máximo. ¿Cómo podemos usar la marca de tiempo en la columna de fecha para obtener el último valor de la columna de valor. Aquí abajo :

Valor anterior=
Fue _previousDate•Fecha anterior1]
Fue _patientno•Paciente anterior No]
devolución
Calcular (
máximo (Tabla6[Valores]),
Filtro (
todo (Tabla6),
Tabla6[Fecha] ?_previousDate
&& Tabla6[No paciente]_patientno
)
).

Hola @ankita_7 ,

Puede compartir datos de ejemplo en formato de tabla (no en una imagen) y en la salida esperada para ayudarle mejor.

saludos

Harsh Nathani

Seguro. Le enviaré antes de las 9:30 IST el conjunto de datos.

Hola @ankita_7 ,

Por favor, compruebe su tipo de datos y hágamelo saber si las medidas están funcionando.

Gracias

Harsh Nathani

¿Respondí a tu pregunta? ¡Marca mi puesto como solución! Apreciar con un Kudos!!

Cubrí la fecha hasta datetime, pero aún así la medida no es capaz de elegir el valor más reciente. La lógica se ve bien para mí, pero creo que la medida está recogiendo sólo la fecha máxima y no con el tiempo máximo para el último valor. Por favor, compruebe las capturas de pantalla adjuntas a continuación:

tablevalues.PNGvisual.PNG

Hola

1. Compruebe el Tipo de datos en Power Query . Debe ser la hora de la fecha.

2. Compruebe si los valores se están resumiendo de forma predeterminada en el panel. Haga todo como No resumir.
3.Cambiar el formato de toda su columna de fecha / hora a la misma. Elija un formato que tenga DD/MM/AAAA hh:mm:ss AM/PM ya que sus datos implican todos estos

1.jpg

3.JPG

Utilice estas medidas:

Paciente anterior No2
VAR a ?
MAX ( 'Tabla6'[Fecha] )
VAR b ?
CALCULAR (
MAX ( Tabla6[Paciente No] ),
FILTRO (
TODOS (
Tabla 6[Paciente No],
Cuadro 6[Fecha],
Tabla6[Valores]
),
Tabla6[Fecha] < a a
&& Tabla6[Paciente No]
MAX ( Tabla6[Paciente No] )
)
)
devolución
B



Fecha de la anterior2 ?
VAR a ?
MAX ( 'Tabla6'[Fecha] )
VAR b ?
CALCULAR (
MAX ( Tabla6[Fecha] ),
FILTRO (
TODOS (
Tabla 6[Paciente No],
Cuadro 6[Fecha],
Tabla6[Valores]
),
Tabla6[Fecha] < a
&& Tabla6[Paciente No]
• MAX ( Tabla6[Paciente No] )
)
)
devolución
B

Valor anterior2 ?
VAR _previousDate•Fecha anterior2]
VAR _patientno•Paciente anterior No2]
RETURN
CALCULATE (
MAX (Tabla6[Valores]),
FILTER (
ALL (Tabla6),
Tabla6[Fecha] ?_previousDate
&& Tabla6[No paciente]_patientno
)
)

2.JPG

Me está funcionando bien con Data Type Date Time.

saludos

Harsh Nathani

¿Respondí a tu pregunta? ¡Marca mi puesto como solución! Apreciar con un Kudos!!

weights.PNG

Muchas gracias por toda la ayuda y respuesta rápida @harshnathani. ¡Esta solución está funcionando!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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