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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

contar filas basadas en varias fechas

He pasado mucho tiempo tratando de resolver esto y he leído muchas preguntas similares, pero no he logrado resolver esto, aunque parece sencillo.

Tengo datos de "cliente" como este, con columnas startdate y stopdate:

clientefecha de iniciostopdate
as101/01/201723/08/2020
fg315/11/201805/03/2021
ty714/05/202023/02/2022
ty706/10/201915/07/2022
az101/01/2012023/08/2022
df315/11/201805/03/2019
a714/05/201923/02/2021

Mi objetivo es contar la cantidad de clientes activos el 1er día de cada mes y luego trazarlo para crear un resultado como el siguiente (y tener el resultado filtrable, ya que mis datos reales tienen columnas adicionales y una rebanadora). Mi definición para activo es: startdate <= mth_start_date < stopdate.

grindle_0-1650982816932.png

He construido una tabla de fechas llamada "first_of_mth" que he creado una relación con el cliente[startdate]. first_of_mth tiene datos como este (pero que se ejecutan hasta la fecha actual):

mth_start_date
01/01/2017
01/02/2017
01/03/2017
01/04/2017
01/05/2017
01/06/2017
01/07/2017
01/08/2017
01/09/2017

Lo más cerca que he estado de lograr lo que quiero con DAX es:

Activo =

CALCULAR (

COUNTROWS ( cliente ),

FILTRO (

Prod

max(first_of_mth[mth_start_date]) >= cliente[fecha de inicio]

&& max(first_of_mth[mth_start_date]) <= cliente[stopdate]

)

)

Pero lo que esto hace es contar el número de filas donde startdate = mth_start_date.

Tengo la impresión de que necesito hacer algo con ambas relaciones entre las tablas y DAX para que esto funcione. Gracias.

1 ACCEPTED SOLUTION
5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hola @grindle ,

Ve a tu mesa first_of_mth y cuenta cada mes nbr cliente activo desde aquí:

nbr_custo = CALCULAR(CONTAR(datasource[cliente]),
FILTRO(todo(fuente de datos),
datasource[fecha de inicio].[Fecha] <= fuente de datos[mth_start_date].[Fecha]
&&
datasource[stopdate].[Fecha] > fuente de datos[mth_start_date].[Fecha]))


Saludos

@philouduv - gracias por su respuesta. He probado 2 variaciones de tu sugerencia. Ambos mensajes de error generados - ver a continuación. ¿Puedes detectar lo que está mal?

nbr_custo = CALCULAR(CONTAR(cliente[cliente]),

FILTRO (todo (prod),

customer[startdate] <= first_of_mth[mth_start_date]

&&

customer[stopdate] > first_of_mth[mth_start_date]))

Mensaje de error: No se puede determinar un solo valor para la columna 'mth_start_date' en la tabla 'first_of_mth'...

nbr_custo = CALCULAR(CONTAR(cliente[cliente]),

FILTER(all(cliente),

cliente[fecha de inicio]. [Fecha] <= first_of_mth[mth_start_date]. [Fecha]

&&

cliente[stopdate]. [Fecha] > first_of_mth[mth_start_date]. [Fecha]))

Mensaje de error: La referencia de columna a 'startdate' en la tabla 'customer' no se puede usar con una variación 'Date' porque no tiene ninguna.

Hola @grindle,

En primer lugar, asegúrese de que su tabla con fecha tenga el formato correcto (el segundo punto de error este en la tabla cliente)

Tome de nuevo su primera fórmula, pero asegúrese de crear una columna en la tabla "first_of_mth"

nbr_custo = CALCULAR(CONTAR(cliente[cliente]),

FILTER(all(cliente),

cliente[fecha de inicio]. [Fecha] <= first_of_mth[mth_start_date]. [Fecha]

&&

cliente[stopdate]. [Fecha] > first_of_mth[mth_start_date]. [Fecha]))


El .[ Fecha] solo está disponible si tiene el formato bueno (Fecha)

Saludos

Gracias por este amitchandak - su primera publicación de blog hizo lo que quería. Muy servicial! Me mostró que necesitaba 2 relaciones inactivas y luego mi DAX funcionó 🙂

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

July Newsletter

Fabric Community Update - July 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors