The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now
Hola a todos
Tratando de lograr algo de poder bi a través de medidas. Tengo datos mensuales con las siguientes columnas
Report_date, Unique_ID
Tengo mi tabla de fechas.
Quiero rellenar el recuento de casos nuevos, casos cerrados y casos abiertos basados en estos datos en un formato de tabla.
Las condiciones a aplicar son todos estos casos deben rellenarse en función de la comparación del mes seleccionado y el mes anterior del mes seleccionado.
Casos nuevos: no en el mes anterior y solo en el mes seleccionado
Casos cerrados: en el mes anterior pero no en el mes seleccionado (Este recuento de casos cerrados debe mostrarse en el próximo mes en la tabla, es decir, si un caso se cierra en enero de 2023, el recuento del caso cerrado debe mostrarse en la fila de casos cerrados de febrero de 2023).
Casos abiertos: presente tanto en el mes anterior como en el mes seleccionado
Nota: La comparación siempre debe ser con el mes seleccionado y el mes anterior del mes seleccionado.
Es decir, si se seleccionan en febrero de 2023, los datos de febrero de 2023 solo deben compararse con los de enero de 2023 O si se seleccionan en enero de 2023, los datos de enero de 2023 solo deben compararse con los datos de diciembre de 2022 y viceversa.
Datos de muestra:
Año y mes | REPORT_DATE | UNIQUE_ID |
2023 febrero | 2023/02/01 | 1005749180317 |
2023 febrero | 2023/02/01 | 4655959445590 |
2023 febrero | 2023/02/01 | 4655959445897 |
2023 febrero | 2023/02/01 | 1017363709676 |
2023 febrero | 2023/02/01 | 1218868736510 |
2023 febrero | 2023/02/01 | 3387008658371 |
2023 febrero | 2023/02/01 | 3423128237554 |
2023 enero | 2023/01/01 | 1017363709676 |
2023 enero | 2023/01/01 | 9017363709674 |
2023 enero | 2023/01/01 | 9017363709675 |
2023 enero | 2023/01/01 | 9017363709676 |
2023 enero | 2023/01/01 | 3387008658371 |
2022 diciembre | 2022/12/01 | 1017363709676 |
2022 diciembre | 2022/12/01 | 3387008658371 |
2022 diciembre | 2022/12/01 | 3423128237554 |
2022 diciembre | 2022/12/01 | 5873128237666 |
2022 diciembre | 2022/12/01 | 5873128237667 |
2022 noviembre | 2022/11/01 | 1005749180317 |
2022 noviembre | 2022/11/01 | 1017363709676 |
2022 noviembre | 2022/11/01 | 1218868736510 |
2022 noviembre | 2022/11/01 | 3387008658371 |
2022 noviembre | 2022/11/01 | 3423128237554 |
2022 noviembre | 2022/11/01 | 3423128237555 |
2022 noviembre | 2022/11/01 | 3423128237556 |
Resultado previsto:
Año y mes | Nuevos casos | Casos abiertos | Casos cerrados |
2023 marzo | 6 | ||
2023 febrero | 4 | 3 | 3 |
2023 enero | 3 | 2 | 3 |
2022 diciembre | 2 | 3 | 4 |
2022 noviembre | 7 |
Gracias.
Solved! Go to Solution.
Lo siento por el retraso en la respuesta
Tengo una solución que funciona para mí:
Nuevos casos =
VAR SelectedMonth = MES(MAX(Calendario[Fecha]))
VAR SelectedYear = AÑO(MAX(Calendario[Fecha]))
VAR PreviousMonth1 = EOMONTH(MAX(Calendario[Fecha]), -1)
VAR PreviousMonthYear = YEAR(PreviousMonth1)
VAR PreviousMonthNumber = MES(PreviousMonth1)
DEVOLUCIÓN
CALCULAR(
COUNTROWS(FILTER('Tabla',
MES('Tabla'[Fecha del informe]) = SelectedMonth &&
AÑO('Tabla'[Fecha del informe]) = SelectedYear &&
NOT( 'Tabla'[UNIQUE_ID] EN CALCULATETABLE(
VALUES('Tabla'[UNIQUE_ID]),
FILTER('Tabla',
AÑO('Tabla'[ Fecha del informe]) = AnteriorMesAño &&
MONTH('Tabla'[ Fecha del informe]) = PreviousMonthNumber
)
)
))),
ALLSELECTED('Tabla')
Caso cerrado =
VAR SelectedMonth = MES(MAX(Calendario[Fecha]))
VAR SelectedYear = AÑO(MAX(Calendario[Fecha]))
VAR PreviousMonth1 = EOMONTH(MAX(Calendario[Fecha]), -1)
VAR PreviousMonthYear = YEAR(PreviousMonth1)
VAR PreviousMonthNumber = MES(PreviousMonth1)
DEVOLUCIÓN
CALCULAR(
COUNTROWS(FILTER('Tabla',
MES('Tabla'[Fecha del informe]) = PreviousMonthNumber &&
AÑO('Tabla'[ Fecha del informe]) = AnteriorMesAño &&
NOT( 'Tabla'[UNIQUE_ID] EN CALCULATETABLE(
VALUES('Tabla'[UNIQUE_ID]),
FILTER('Tabla',
AÑO('Tabla'[Fecha del informe]) = SelectedYear &&
MES('Tabla'[Fecha del informe]) = SelectedMonth
)
)
))),
ALLSELECTED('Tabla')
)
Casos abiertos =
VAR SelectedMonth = MES(MAX(Calendario[Fecha]))
VAR SelectedYear = AÑO(MAX(Calendario[Fecha]))
VAR PreviousMonth1 = EOMONTH(MAX(Calendario[Fecha]), -1)
VAR PreviousMonthYear = YEAR(PreviousMonth1)
VAR PreviousMonthNumber = MES(PreviousMonth1)
DEVOLUCIÓN
CALCULAR(
COUNTROWS(FILTER('Tabla',
MES('Tabla'[Fecha del informe]) = SelectedMonth &&
AÑO('Tabla'[Fecha del informe]) = SelectedYear &&
'Tabla'[UNIQUE_ID] EN CALCULATETABLE(
VALUES('Tabla'[UNIQUE_ID]),
FILTER('Tabla',
AÑO('Tabla'[Fecha del informe]) = AnteriorMesAño &&
MES('Tabla'[Fecha del informe]) = PreviousMonthNumber
)
)
)),
ALLSELECTED('Tabla')
)
Lo siento por el retraso en la respuesta
Tengo una solución que funciona para mí:
Nuevos casos =
VAR SelectedMonth = MES(MAX(Calendario[Fecha]))
VAR SelectedYear = AÑO(MAX(Calendario[Fecha]))
VAR PreviousMonth1 = EOMONTH(MAX(Calendario[Fecha]), -1)
VAR PreviousMonthYear = YEAR(PreviousMonth1)
VAR PreviousMonthNumber = MES(PreviousMonth1)
DEVOLUCIÓN
CALCULAR(
COUNTROWS(FILTER('Tabla',
MES('Tabla'[Fecha del informe]) = SelectedMonth &&
AÑO('Tabla'[Fecha del informe]) = SelectedYear &&
NOT( 'Tabla'[UNIQUE_ID] EN CALCULATETABLE(
VALUES('Tabla'[UNIQUE_ID]),
FILTER('Tabla',
AÑO('Tabla'[ Fecha del informe]) = AnteriorMesAño &&
MONTH('Tabla'[ Fecha del informe]) = PreviousMonthNumber
)
)
))),
ALLSELECTED('Tabla')
Caso cerrado =
VAR SelectedMonth = MES(MAX(Calendario[Fecha]))
VAR SelectedYear = AÑO(MAX(Calendario[Fecha]))
VAR PreviousMonth1 = EOMONTH(MAX(Calendario[Fecha]), -1)
VAR PreviousMonthYear = YEAR(PreviousMonth1)
VAR PreviousMonthNumber = MES(PreviousMonth1)
DEVOLUCIÓN
CALCULAR(
COUNTROWS(FILTER('Tabla',
MES('Tabla'[Fecha del informe]) = PreviousMonthNumber &&
AÑO('Tabla'[ Fecha del informe]) = AnteriorMesAño &&
NOT( 'Tabla'[UNIQUE_ID] EN CALCULATETABLE(
VALUES('Tabla'[UNIQUE_ID]),
FILTER('Tabla',
AÑO('Tabla'[Fecha del informe]) = SelectedYear &&
MES('Tabla'[Fecha del informe]) = SelectedMonth
)
)
))),
ALLSELECTED('Tabla')
)
Casos abiertos =
VAR SelectedMonth = MES(MAX(Calendario[Fecha]))
VAR SelectedYear = AÑO(MAX(Calendario[Fecha]))
VAR PreviousMonth1 = EOMONTH(MAX(Calendario[Fecha]), -1)
VAR PreviousMonthYear = YEAR(PreviousMonth1)
VAR PreviousMonthNumber = MES(PreviousMonth1)
DEVOLUCIÓN
CALCULAR(
COUNTROWS(FILTER('Tabla',
MES('Tabla'[Fecha del informe]) = SelectedMonth &&
AÑO('Tabla'[Fecha del informe]) = SelectedYear &&
'Tabla'[UNIQUE_ID] EN CALCULATETABLE(
VALUES('Tabla'[UNIQUE_ID]),
FILTER('Tabla',
AÑO('Tabla'[Fecha del informe]) = AnteriorMesAño &&
MES('Tabla'[Fecha del informe]) = PreviousMonthNumber
)
)
)),
ALLSELECTED('Tabla')
)