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

Informe de Power BI que muestra el número medio de pacientes presentes por hora y día

Querida Comunidad,

Tengo un conjunto de datos que contiene más de 28.000 filas de datos del hospital (llegada del paciente a un sitio y hora de salida)
Cada fila representa:
- ID de visita = ID de cada visita del paciente
- locatie = ubicación de la visita
- startDat = fecha y hora de llegada @ locatie
- eindDat = fecha y hora de salida @ locatie


thumbnail_image003.png

Quiero hacer un gráfico de barras que muestre en promedio: cuántos pacientes están presentes durante cada hora del día. Por ejemplo, en promedio, 6 pacientes están presentes entre las 9 am y las 10 am en la ubicación A, 7 pacientes en la ubicación B, etc.
Y hacer lo mismo para cada día de la semana

El resultado debería ser algo como lo siguiente. (Aquí casi llegué a la salida deseada al remodelar el conjunto de datos a un formato de 1 hora por paciente por fila, pero esto me da problemas de rendimiento cuando el conjunto de datos se vuelve grande + el resultado no es 100% correcto, por ejemplo, los nulos no se incluyen en el promedio)

thumbnail_image002.png

thumbnail_image001.png

Pbix anónimo: enlace a pbix

Gracias de antemano
D

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

¡Hola!

Después de buscar durante un tiempo, este es el primer modelo que puedo usar basado en la misma pregunta inicial: mostrar cuántos pacientes están presentes por hora.

Solo queda un problema: ¿cómo incluir a los pacientes que llegaron el día anterior?

¡Gracias de antemano!

Vince

Syndicate_Admin
Administrator
Administrator

Querido @amitchandak

Gracias por la sugerencia, he creado las 2 columnas y he intentado crear la medida también, pero esto da un error

esto es el pbix con las 2 columnas creadas, podrías complacer probar para producir el resultado?

https://www.dropbox.com/s/2a3f1l4h4qz0o7v/example_count_patients_present_per_hour.pbix?dl=0

@v-deddai1-msft Gracias también, su solución estaba muy cerca de lo que quería, con la excepción de que en el gráfico por hora, el promedio no se calcula correctamente (ya que averageX no tiene en cuenta los nulos, que ocurren a menudo por la noche. por ejemplo, a las 22:00, 23:00 el promedio es demasiado alto)

Syndicate_Admin
Administrator
Administrator

Hay @jelle87,

Por favor, intente utilizar la siguiente medida:

averageperhour1 =
VAR a =
    ADDCOLUMNS (
        CROSSJOIN ( VALUES ( Source[StartDatOnly] ), VALUES ( TimeTable[Hour] ) ),
        "numberofvisit",
            CALCULATE (
                COUNT ( Source[visitID.2] ),
                FILTER (
                    ALLEXCEPT ( Source, Source[LOCATIE] ),
                    Source[StartDatOnly] = EARLIER ( Source[StartDatOnly] )
                        && HOUR ( Source[startDat] ) <= EARLIER ( TimeTable[Hour] )
                        && HOUR ( Source[eindDat] ) >= EARLIER ( TimeTable[Hour] )
                )
            )
    )
RETURN
    AVERAGEX ( a, [numberofvisit] )


averageperday =
VAR a =
    ADDCOLUMNS (
        CROSSJOIN ( VALUES ( Source[StartDatOnly] ), VALUES ( 'Date'[weekdaynumber] ) ),
        "numberofvisit",
            CALCULATE (
                COUNT ( Source[visitID.2] ),
                FILTER (
                    ALLEXCEPT ( Source, Source[LOCATIE] ),
                    Source[weekday] = EARLIER ( 'Date'[weekdaynumber] )
                        && Source[StartDatOnly] = EARLIER ( Source[StartDatOnly] )
                )
            )
    )
RETURN
    AVERAGEX ( a, [numberofvisit] )

Capture22.PNG

Para obtener más detalles, consulte el archivo pbix.

Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Dedmon Dai

Estimado v-dedda1-msft

Gracias por su respuesta, el resultado está muy cerca de lo que necesito, solo hay 1 problema, entre las 21:00 y las 23:59 el gráfico muestra un promedio de 1 paciente por cada catergory. Pero esto no es correcto. El promedio real es mucho menor porque a menudo el número de pacientes entre las 21:00 y las 23:59 es nulo, y los nulos no se incluyen en el cálculo del promedio de la manera en que se calcualted ahora. ¿Usar divide puede ser una mejor opción? Pero no estoy seguro de cómo hacerlo

Syndicate_Admin
Administrator
Administrator

@jelle87 . Asegúrese de que tiene estas dos columnas

startDat date =[startDat].date // datevalue([startDat])

hora = hora([startDat])

y medir como

AverageX(tabla, tabla[inicioDáquina de fecha], tabla[hora], "_1", countrows(tabla)), [_1])

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.