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

Acelerar la medida que comprueba si una licencia estaba activa entre dos fechas

Tengo un gran conjunto de datos para procesar a través de largo período de tiempo. Aunque esta medida funciona muy bien, es lento de renderizar. ¿Tienes algún consejo para acelerar esto?

La estructura de datos es algo así como COMPANY = La empresa a la que pertenece PEOPLE. PEOPLE = personas únicas con un ID de empresa. LICENSES = Número de licencia, ID de personas, una persona puede tener varias licencias durante un período de tiempo con algunas o todas caducadas. Por lo tanto, tengo que hacer el recuento distinto de personas

LICENSE = 
CALCULATE(
	DISTINCTCOUNTNOBLANK('PEOPLE'[NAME]),
	GENERATE(
		VALUES(_DATES[DATE]),
		FILTER(
            CALCULATETABLE('LICENSES',ALL(_DATES)),
			CONTAINS(
				DATESBETWEEN(
					_DATES[DATE],
					'LICENSES'[START DATE],
					IF(ISBLANK('LICENSES'[END DATE]),TODAY(),'LICENSES'[END DATE])
				),
			[DATE],_DATES[DATE]
			)
		)
	),
	CROSSFILTER(_DATES[DATE],'LICENSE'[END DATE],None)
)

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hay @NickTT ,

¿Su problema ha sido resuelto?

Si el problema sigue sin resolverse, proporcione información detallada del error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

Syndicate_Admin
Administrator
Administrator

No @NickTT,

Creo los siguientes datos de ejemplo y modelo.

image.pngimage.png

Si desea contar el número de usuarios con licencias válidas, pruebe la siguiente fórmula:

User_Num_Have_ActiveLicense = 
CALCULATE(
    DISTINCTCOUNT(LICENSES[PeopleID]),
    FILTER(
        LICENSES,
        ISBLANK( LICENSES[END DATE] )
        || LICENSES[END DATE] > TODAY()
    )
)

Si desea contar el número de licencias válidas que tiene cada usuario, pruebe la siguiente fórmula:

ActiveLicenses_PerUser = 
CALCULATE(
    DISTINCTCOUNT(LICENSES[LicenseNum]),
    FILTER(
        LICENSES,
        ISBLANK( LICENSES[END DATE] )
        || LICENSES[END DATE] > TODAY()
    )
)

image.png

Si el problema aún no se ha resuelto, proporcione información detallada sobre errores o el resultado esperado que espera. Hágamelo saber inmediatamente, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

No creo que esto te muestre activo durante un período de tiempo. Por ejemplo, mayo de 2020 tuvimos 5, mayo de 2021 tuvimos 10.

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.