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
Syndicate_Admin
Administrator
Administrator

Crear una fórmula de readmisión que sólo trae de vuelta accts donde hubo una readmisión w / en 90 días

Cree una fórmula de readmisión que solo devuelva los accts donde hubo una readmisión en 90 días. Excluir las cuentas en las que la admisión y la aprobación de la gestión

Por ejemplo, en la captura de pantalla, todas las cuentas, excepto las filas resaltadas de color amarillo (porque los códigos de admisión y remisión son mayores que 90 días), deben estar en la matriz.

Necesito una fórmula, que traiga esos resultados. Gracias por su ayuda de antemano!

Códigos de procedimiento de admisión = 99221, 99222, 99223

Códigos de procedimiento de aprobación de la gestión = 99238, 99239

Campos...

  • Conjunto de datos de ABC_Discharge
  • Nombre del paciente
  • de
  • Código de procedimiento

jonnyA_0-1627413230027.png

2 ACCEPTED SOLUTIONS

Hay @jonnyA,

He dividido el problema en dos pasos:

1. Cree una columna calc que obtenga las fechas de admisión y descarga correlacionadas para cada fila

2. Cree una columna calc que obtenga el valor absoluto de la diferencia de fecha

3. Filtrar la tabla por la diferencia de fecha calculada

calc a continuación:

admission_discharge_date = 
var _proc_code = 'ABC_Discharge Dataset'[Proc_Code]
var _dos = 'ABC_Discharge Dataset'[DOS]
var _patient_f_name = 'ABC_Discharge Dataset'[Patient_First_name]
var _patient_l_name = 'ABC_Discharge Dataset'[Patient_Last_Name]
return 
SWITCH(true(),
    _proc_code in {99238, 99239}, 
    CALCULATE(MAX('ABC_Discharge Dataset'[DOS]),FILTER(all('ABC_Discharge Dataset'), 'ABC_Discharge Dataset'[Patient_First_name]= _patient_f_name && 'ABC_Discharge Dataset'[Patient_Last_Name] = _patient_l_name &&'ABC_Discharge Dataset'[DOS]< _dos&& 'ABC_Discharge Dataset'[Proc_Code] in {99221, 99222, 99223})),
    _proc_code in {99221, 99222, 99223},
     CALCULATE(min('ABC_Discharge Dataset'[DOS]),FILTER(all('ABC_Discharge Dataset'), 'ABC_Discharge Dataset'[Patient_First_name]= _patient_f_name && 'ABC_Discharge Dataset'[Patient_Last_Name] = _patient_l_name &&'ABC_Discharge Dataset'[DOS]> _dos&& 'ABC_Discharge Dataset'[Proc_Code] in {99238, 99239})),
blank())
// CALCULATE(MAX('ABC_Discharge Dataset'[DOS]), FILTER(all('ABC_Discharge Dataset'), 'ABC_Discharge Dataset'[Patient_First_name]= _patient_f_name && 'ABC_Discharge Dataset'[Patient_Last_Name] = _patient_l_name &&'ABC_Discharge Dataset'[DOS]< _dos && _proc_code in {99221, 99222, 99223})))

admit_discharge_delta = ABS(DATEDIFF('ABC_Discharge Dataset'[DOS], 'ABC_Discharge Dataset'[admission_discharge_date],DAY))

Da como resultado lo siguiente:

No FIltered:

richbenmintz_0-1627498318146.png

Filtrada:

richbenmintz_1-1627498387193.png

Attched por favor encuentre una muestra pbix.

espero que esto ayude!

View solution in original post

Syndicate_Admin
Administrator
Administrator

Hola, @jonnyA;

Puede intentar crear una medida de marca.

flag = 
VAR _next=
IF(
    MAX([Proc_Code]) in {99238, 99239}, 
    MAXX(FILTER(ALL(ABC_Discharge),[Patient_First_name]=MAX([Patient_First_name])&&[Patient_Last_Name]=MAX([Patient_Last_Name])
      &&[DOS]< MAX('ABC_Discharge'[DOS])&&[Proc_Code] in {99221, 99222, 99223}),[DOS]),
    MINX(FILTER(ALL(ABC_Discharge),[Patient_First_name]=MAX([Patient_First_name])&&[Patient_Last_Name]=MAX([Patient_Last_Name])
      &&[DOS]>MAX('ABC_Discharge'[DOS])&&[Proc_Code] in {99238, 99239}),[DOS]))
VAR _DIFF=IF(MAX([Proc_Code]) IN {99238,99239},DATEDIFF(_next,MAX([DOS]),DAY),DATEDIFF(MAX([DOS]),_next,DAY))
RETURN IF(_DIFF<90,1,0)

A continuación, aplíquelo en el filtro:

vyalanwumsft_0-1627612081001.png

La salida final se muestra a continuación:

vyalanwumsft_1-1627612156080.png

Saludos
Team_ de apoyo comunitario Yalan Wu
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

¿Alguien sabe cómo puedo arreglar esta medida?

jonnyA_0-1631813972834.png

Syndicate_Admin
Administrator
Administrator

@v-yalanwu-msft ,

Hola, y gracias por tu ayuda con el archivo que me enviaste, muy útil!

No puedo conseguir que la medida "Bandera" funcione en mi extremo. La fórmula no tiene errores de lo que puedo decir, pero cuando agrego la fórmula a mi matriz, los datos se quedan en blanco.

¿Alguna sugerencia sobre cómo solucionarlo?

Syndicate_Admin
Administrator
Administrator

Hola, @jonnyA;

Puede intentar crear una medida de marca.

flag = 
VAR _next=
IF(
    MAX([Proc_Code]) in {99238, 99239}, 
    MAXX(FILTER(ALL(ABC_Discharge),[Patient_First_name]=MAX([Patient_First_name])&&[Patient_Last_Name]=MAX([Patient_Last_Name])
      &&[DOS]< MAX('ABC_Discharge'[DOS])&&[Proc_Code] in {99221, 99222, 99223}),[DOS]),
    MINX(FILTER(ALL(ABC_Discharge),[Patient_First_name]=MAX([Patient_First_name])&&[Patient_Last_Name]=MAX([Patient_Last_Name])
      &&[DOS]>MAX('ABC_Discharge'[DOS])&&[Proc_Code] in {99238, 99239}),[DOS]))
VAR _DIFF=IF(MAX([Proc_Code]) IN {99238,99239},DATEDIFF(_next,MAX([DOS]),DAY),DATEDIFF(MAX([DOS]),_next,DAY))
RETURN IF(_DIFF<90,1,0)

A continuación, aplíquelo en el filtro:

vyalanwumsft_0-1627612081001.png

La salida final se muestra a continuación:

vyalanwumsft_1-1627612156080.png

Saludos
Team_ de apoyo comunitario Yalan Wu
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@jonnyA

Según sus datos, hay tres filas que superan los 90 días. ¿Desea crear una nueva tabla que muestre solo las tres filas que he resaltado en amarillo o necesita una medida?

Fowmy_0-1627414882059.png

@fowny,

No sé por qué estás viendo 3 y i ver 2 tho?

Tenga en cuenta los códigos de admisión vs descarga.

Por lo tanto, si la fecha del código de procedimiento de admisión de Sevice es más de 90 días desde el código de procedimiento de alta, entonces esos pacientes deben dejarse de comer.

@Fowmy

Necesito una medida. ¡Gracias!

Hay @jonnyA,

He dividido el problema en dos pasos:

1. Cree una columna calc que obtenga las fechas de admisión y descarga correlacionadas para cada fila

2. Cree una columna calc que obtenga el valor absoluto de la diferencia de fecha

3. Filtrar la tabla por la diferencia de fecha calculada

calc a continuación:

admission_discharge_date = 
var _proc_code = 'ABC_Discharge Dataset'[Proc_Code]
var _dos = 'ABC_Discharge Dataset'[DOS]
var _patient_f_name = 'ABC_Discharge Dataset'[Patient_First_name]
var _patient_l_name = 'ABC_Discharge Dataset'[Patient_Last_Name]
return 
SWITCH(true(),
    _proc_code in {99238, 99239}, 
    CALCULATE(MAX('ABC_Discharge Dataset'[DOS]),FILTER(all('ABC_Discharge Dataset'), 'ABC_Discharge Dataset'[Patient_First_name]= _patient_f_name && 'ABC_Discharge Dataset'[Patient_Last_Name] = _patient_l_name &&'ABC_Discharge Dataset'[DOS]< _dos&& 'ABC_Discharge Dataset'[Proc_Code] in {99221, 99222, 99223})),
    _proc_code in {99221, 99222, 99223},
     CALCULATE(min('ABC_Discharge Dataset'[DOS]),FILTER(all('ABC_Discharge Dataset'), 'ABC_Discharge Dataset'[Patient_First_name]= _patient_f_name && 'ABC_Discharge Dataset'[Patient_Last_Name] = _patient_l_name &&'ABC_Discharge Dataset'[DOS]> _dos&& 'ABC_Discharge Dataset'[Proc_Code] in {99238, 99239})),
blank())
// CALCULATE(MAX('ABC_Discharge Dataset'[DOS]), FILTER(all('ABC_Discharge Dataset'), 'ABC_Discharge Dataset'[Patient_First_name]= _patient_f_name && 'ABC_Discharge Dataset'[Patient_Last_Name] = _patient_l_name &&'ABC_Discharge Dataset'[DOS]< _dos && _proc_code in {99221, 99222, 99223})))

admit_discharge_delta = ABS(DATEDIFF('ABC_Discharge Dataset'[DOS], 'ABC_Discharge Dataset'[admission_discharge_date],DAY))

Da como resultado lo siguiente:

No FIltered:

richbenmintz_0-1627498318146.png

Filtrada:

richbenmintz_1-1627498387193.png

Attched por favor encuentre una muestra pbix.

espero que esto ayude!

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.