Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Obtención de valores máximos si la fecha está entre la columna de fecha de otra tabla

¡Hola!

Estoy creando un informe a partir de archivos de registro de uso donde he tabulado los valores.

He creado dos tablas, una es una tabla de registro / historial de productos que muestra lo que tiene cada cliente y la cantidad de licencias en el período. El otro es el registro de uso, que es simple cuando inician sesión para usar el producto.

Básicamente, necesito mostrar si el número de usuarios ha superado el número de licencias del producto en cada sesión (día).

Por ejemplo...

Esta es una tabla de productos:

Producto VersiónNombre del clienteFecha de inicioLicencias
A1Cliente 11/01/20231
B1Cliente 11/01/20232
C1Cliente 11/01/20235
B2Cliente 116/05/20232
A3Cliente 116/05/202310
B3Cliente 14/09/20232
C3Cliente 14/09/20235
D3Cliente 14/09/20235

Esta es la tabla de registro de uso

Inicio de sesiónNombre del clienteProductoUsuario
1/02/2023Cliente 1AAndrew
1/02/2023Cliente 1AJohn
1/02/2023Cliente 1BAndrew
1/02/2023Cliente 1ABob
1/02/2023Cliente 1ABob
1/02/2023Cliente 1AJane
1/02/2023Cliente 1CJane
1/02/2023Cliente 1CJane
1/02/2023Cliente 1AAndrew
6/06/2023Cliente 1CAM
6/06/2023Cliente 1CAM
6/06/2023Cliente 1CAM
6/06/2023Cliente 1CAM
6/06/2023Cliente 1ABob
6/06/2023Cliente 1AJane

Basta con mirar el producto A... [StartDate] es el 1/01/2023 y tiene 1 licencia y la siguiente actualización es el 16/05/2023 cuando actualizaron a 16 licencias. Entonces, entre el 1/01/2023 y el 15/05/2023 solo hay 1 licencia disponible.

En el registro de uso, para la sesión del 1/02/2023 es entre el 1/01/2023 y el 15/05/2023, por lo que solo deben tener una licencia. ¿Cómo puedo crear una medida o una columna calculada para mostrar el número máximo de licencias del registro de productos?

Idealmente, puedo usar esto como una línea constante en un gráfico para mostrar los períodos en los que el cliente ha excedido su recuento de licencias.

¡Gracias!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Encontré una solución:

En la tabla de productos, necesitaba obtener la fecha de finalización de cada producto en la misma fila con una columna calculada:

SessionNextUpdate =
Dónde Fecha desdeFromDate = 'Registro de productos'[Inicio de sesión]
DÓNDE Cliente = 'Registro de productos'[Cliente]
DÓNDE Producto = 'Registro de productos'[Producto]
DÓNDE nada =
CALCULAR(
MIN('Registro de productos'[Inicio de sesión]),
FILTRO(
'Registro de productos',
'Registro de productos'[Producto] = Producto &&
'Registro de productos'[Cliente] = Cliente &&
'Registro de productos'[Inicio de sesión] > Fecha desdeFromDate)
)
DEVOLUCIÓN
INTERRUPTOR(
VERDADERO(),
nada = espacio en blanco(), FECHA(9999,12,31), nada - 1)

A continuación, en el registro de uso, otra columna calculada:

MaxLicenses =
maxx(
FILTRO(
'Registro de productos',
'Registro de uso'[Cliente] = 'Registro de productos'[Cliente] &&
'Registro de uso'[Producto] = 'Registro de productos'[Producto] &&
'Registro de uso'[Inicio de sesión] >= 'Registro de productos'[Inicio de sesión] &&
'Registro de uso'[Inicio de sesión] <= 'Registro de productos'[SessionNextUpdate]
),
'Registro de productos'[Licencias]
)

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Encontré una solución:

En la tabla de productos, necesitaba obtener la fecha de finalización de cada producto en la misma fila con una columna calculada:

SessionNextUpdate =
Dónde Fecha desdeFromDate = 'Registro de productos'[Inicio de sesión]
DÓNDE Cliente = 'Registro de productos'[Cliente]
DÓNDE Producto = 'Registro de productos'[Producto]
DÓNDE nada =
CALCULAR(
MIN('Registro de productos'[Inicio de sesión]),
FILTRO(
'Registro de productos',
'Registro de productos'[Producto] = Producto &&
'Registro de productos'[Cliente] = Cliente &&
'Registro de productos'[Inicio de sesión] > Fecha desdeFromDate)
)
DEVOLUCIÓN
INTERRUPTOR(
VERDADERO(),
nada = espacio en blanco(), FECHA(9999,12,31), nada - 1)

A continuación, en el registro de uso, otra columna calculada:

MaxLicenses =
maxx(
FILTRO(
'Registro de productos',
'Registro de uso'[Cliente] = 'Registro de productos'[Cliente] &&
'Registro de uso'[Producto] = 'Registro de productos'[Producto] &&
'Registro de uso'[Inicio de sesión] >= 'Registro de productos'[Inicio de sesión] &&
'Registro de uso'[Inicio de sesión] <= 'Registro de productos'[SessionNextUpdate]
),
'Registro de productos'[Licencias]
)
Syndicate_Admin
Administrator
Administrator

Hola @Fowmy, espero que hayan tenido un buen fin de semana. Los datos del producto solo proporcionan el total actual de licencias para cada nuevo período. En este caso:

Desde el 1/ 01/2023 hasta el 15/05/2023 el cliente solo tenía 1 licencia.

A partir del 16/05/2023 (o próxima actualización) el cliente dispone de un total de 10 licencias.

Su segunda declaración sobre el uso de licencias es correcta. Incluso si puedo obtener un enlace a las dos tablas para mostrar el número máximo de licencias que se tienen si la fecha de inicio de la sesión de uso se encuentra entre las fechas de registro del producto.

Syndicate_Admin
Administrator
Administrator

@awff

Según su descripción, la licencia del producto A se elevó a 11 licencias (1 + 10), no a 16.
Según el registro, el producto A ha sido utilizado por tres usuarios (Andrew, Jane y Bob) entre el 1/1/2023 y el 15/1/2023. Por lo tanto, se excede por 2. ¿Es esto lo que necesitas?

Syndicate_Admin
Administrator
Administrator

No estoy seguro de cómo adjuntar un archivo pbix como muestra aquí, pero aquí hay un conjunto de datos de muestra:

Registro de uso:

Inicio de sesiónNombre del clienteProductoUsuario
1/02/2023Cliente 1AAndrew
1/02/2023Cliente 1AJohn
1/02/2023Cliente 1BAndrew
1/02/2023Cliente 1ABob
1/02/2023Cliente 1ABob
1/02/2023Cliente 1AJane
1/02/2023Cliente 1CJane
1/02/2023Cliente 1CJane
1/02/2023Cliente 1AAndrew
6/06/2023Cliente 1CAM
6/06/2023Cliente 1CAM
6/06/2023Cliente 1CAM
6/06/2023Cliente 1CAM
6/06/2023Cliente 1ABob
6/06/2023Cliente 1AJane
6/06/2023Cliente 1AAM
6/06/2023Cliente 1ABob
6/06/2023Cliente 1BBob
23/05/2023Cliente 2DTim
23/05/2023Cliente 2DTim
23/05/2023Cliente 2DSteven
23/05/2023Cliente 2AJames
23/05/2023Cliente 2CJames
23/05/2023Cliente 2CJames
1/01/2023Cliente 3ASota
1/01/2023Cliente 3BSota
31/05/2023Cliente 3ASota
7/12/2023Cliente 3BSota

Registro del producto:

Producto VersiónNombre del clienteFecha de inicioLicencias
A1Cliente 11/01/20231
B1Cliente 11/01/20232
C1Cliente 11/01/20235
B2Cliente 116/05/20232
A3Cliente 116/05/202310
B3Cliente 14/09/20232
C3Cliente 14/09/20235
D3Cliente 14/09/20235
B1Cliente 29/07/20232
C1Cliente 29/07/20236
A2Cliente 230/11/20235
B3Cliente 230/11/20235
C3Cliente 230/11/20235
D3Cliente 230/11/20235
A1Cliente 31/03/20231
A2Cliente 320/05/202310
A2Cliente 31/12/202315
B3Cliente 35/12/20233

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.