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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors