Home
» Power BI
»
Cómo calcular los días de ocupación por mes en LuckyTemplates usando DAX
Cómo calcular los días de ocupación por mes en LuckyTemplates usando DAX
Este tutorial destaca cómo podemos calcular los días de ocupación mediante DAX en LuckyTemplates. Esto es bastante útil para organizaciones como hospitales, Airbnb, hoteles, etc. Esta es una idea interesante si desea sumergirse en la gestión efectiva de sus niveles de ocupación. Puede ver el video completo de este tutorial en la parte inferior de este blog.
Este tema surgió a través del que creo que merece una mirada más profunda. Realmente disfruté trabajando en la solución, así que pensé que era una gran idea compartirla en un tutorial. El escenario es calcular cuántos días dentro de cualquier mes una persona ocupó algo , por lo que podría ser una cama de hospital, una biblioteca compartida u otra cosa.
En esta demostración, estamos investigando la ocupación de camas de hospital. Trabajaremos entre dos fechas: la fecha de Admisión y la fecha de Salida. Tenemos los nombres de los pacientes, los meses y el número de días que los pacientes ocupan las habitaciones o camas.
Este es un escenario bastante complicado que confunde a muchas personas, pero es importante entender cómo resolverlo porque es un escenario común del mundo real.
Estamos trabajando con dos fechas aquí, pero estos son solo datos de demostración para esta solución de ejemplo. Dentro de un mes y/o dos, sabremos cuántos días permanecen estos pacientes en el hospital.
Este es el modelo de datos configurado cuando estamos creando relaciones inactivas, que necesitamos para este escenario. Tenemos la tabla de fechas que no cambia en absoluto, pero tenemos estas relaciones inactivas que nos permiten trabajar con cierta lógica a través de la tabla de datos y traer algo de contexto de la tabla de fechas.
el modelo de datos
Es una buena práctica tener relaciones inactivas y configurar el modelo de esta manera porque es posible que queramos hacer otros cálculos en nuestra tabla de hechos y crear contextos a partir de la tabla Fechas en nuestros otros análisis. Aquí es donde la función resulta útil. Esta función nos permite activar estas relaciones.
Necesitamos usar relaciones inactivas cuando trabajamos con varias fechas en la tabla de hechos.
La tabla de fechas que estamos usando aquí es estándar y tiene todo lo que necesitamos para este análisis. Vamos a utilizar la columna en nuestro cálculo.
tabla de fechas
Fórmula DAX para calcular los días de ocupación en un mes
En nuestra fórmula, trabajamos todos los meses para calcular algunas declaraciones IF. Usamos variables ( ) para crear los parámetros que usaremos en nuestras declaraciones .
Recuerda que con DAX, cada resultado se calcula individualmente. Entonces, por ejemplo, el resultado de 14 días aquí (en nuestra tabla a continuación) se calcula de manera diferente al resultado de 18 días. Esto se debe a que el contexto en el que se calculan estos resultados es diferente.
Pueden tener el mismo contexto en cuanto al paciente (238), pero el contexto basado en los meses (agosto y septiembre) es diferente. Lo interesante del contexto aquí es que nada surge naturalmente a través de una relación activa. Tenemos que generar algunos valores a partir de lo que tenemos en nuestra matriz con la fórmula DAX.
Así que primero tenemos que calcular nuestras variables. Calculamos nuestra AdmitDate y DepartureDate . Luego, calculamos nuestro MinDateInContext y MaxDateInContext , que calculan los días 1 y 30 o 31 de un mes determinado (28 o 29 de febrero). La segunda parte de la fórmula es donde entra la lógica para calcular los días de ocupación en un mes o dentro de meses.
Hay un poco de eso, pero es de esperar que obtenga la lógica para calcular los días de ocupación en LuckyTemplates. Puede probarlo usted mismo y ver cómo DAX le permite resolver relaciones inactivas y fechas múltiples.
Este es un escenario bastante único, pero realista. Las empresas que necesitan administrar los niveles de ocupación podrían beneficiarse de esta solución. Esto muestra las capacidades analíticas de LuckyTemplates con el poder de las fórmulas DAX.