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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
nicole1995
Frequent Visitor

Contar y filtrar entre dos fechas

Hola

Tengo dos tablas, una con suscripciones actuales y otra con suscripciones caducadas vinculadas por memberID. Necesito comprobar desde las suscripciones actuales que se han renovado y no es un nuevo miembro. Para ello, quiero comprobar si hay suscripciones en la tabla Caducada, donde la fecha de finalización se encuentra entre la fecha de inicio de la suscripción actual: 1 día y -1 mes. A continuación, debo usar los resultados como parte de una tabla dinámica donde la fila será el tipo de suscripción y la columna será la fecha de inicio.

Este es un ejemplo de mi salida requerida

RenovacionesFecha de renovación
SeptiembreOctubre
TipoTotal renovadoElevación aplicadaTotal renovadoElevación aplicada
Coche
De
Motocicleta

A continuación se muestra mi consulta dax, pero sigo recibiendo "se proporcionó una tabla de varios valores donde se esperaba un solo valor"

Renovado ?
CALCULATE(COUNTROWS('CurrentSubscriptions'),
FILTER('ExpiredSubscriptions',
'ExpiredSubscriptions'[EndDate] <- DATEADD('CurrentSubscriptions'[StartDate].[ Fecha],-1,DIA)
&& 'ExpiredSubscriptions'[EndDate] >- DATEADD('CurrentSubscriptions'[StartDate].[ Fecha],-1,MES)
))
No estoy seguro de si lo que estoy haciendo es cerca de la manera correcta de manejar esto. ¿Alguien podría aconsejar?
Gracias
1 ACCEPTED SOLUTION
v-alq-msft
Community Support
Community Support

Hola, @nicole1995

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Suscripción actual:

c1.png

Suscripción caducada:

c2.png

Puede crear una medida como se indica a continuación.

Result = 
var t = 
ADDCOLUMNS(
    ALL('Current Subscriptions'),
    "Result",
    var _startdate = [StartDate]
    var _date = EOMONTH(_startdate,-1)
    var _d = DATE(YEAR(_date),MONTH(_date),DAY(_startdate))
    return
    COUNTROWS(
        FILTER(
            ALL('Expired Subscriptions'),
            [MemberID]=EARLIER('Current Subscriptions'[MemberID])&&
            [EndDate]>=_d&&
            [EndDate]<=_startdate-1
        )
    )
)
var _result =
SUMX(
    SUMMARIZE(
        'Current Subscriptions',
        'Current Subscriptions'[Type],
        'Current Subscriptions'[StartDate].[Month],
        "Re",
        SUMX(
            FILTER(
                t,
                [Type]=SELECTEDVALUE('Current Subscriptions'[Type])&&
                'Current Subscriptions'[StartDate].[Month]=EARLIER('Current Subscriptions'[StartDate].[Month])
            ),
            [Result]
        )
    ),
    [Re]
)
return
IF(
    ISBLANK(_result),
    0,
    _result
)

Resultado:

c3.png

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
v-alq-msft
Community Support
Community Support

Hola, @nicole1995

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Suscripción actual:

c1.png

Suscripción caducada:

c2.png

Puede crear una medida como se indica a continuación.

Result = 
var t = 
ADDCOLUMNS(
    ALL('Current Subscriptions'),
    "Result",
    var _startdate = [StartDate]
    var _date = EOMONTH(_startdate,-1)
    var _d = DATE(YEAR(_date),MONTH(_date),DAY(_startdate))
    return
    COUNTROWS(
        FILTER(
            ALL('Expired Subscriptions'),
            [MemberID]=EARLIER('Current Subscriptions'[MemberID])&&
            [EndDate]>=_d&&
            [EndDate]<=_startdate-1
        )
    )
)
var _result =
SUMX(
    SUMMARIZE(
        'Current Subscriptions',
        'Current Subscriptions'[Type],
        'Current Subscriptions'[StartDate].[Month],
        "Re",
        SUMX(
            FILTER(
                t,
                [Type]=SELECTEDVALUE('Current Subscriptions'[Type])&&
                'Current Subscriptions'[StartDate].[Month]=EARLIER('Current Subscriptions'[StartDate].[Month])
            ),
            [Result]
        )
    ),
    [Re]
)
return
IF(
    ISBLANK(_result),
    0,
    _result
)

Resultado:

c3.png

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Greg_Deckler
Community Champion
Community Champion

@nicole1995 - DATEADD devolverá una columna de valores. Tratar:

CALCULATE(
COUNTROWS('CurrentSubscriptions'),
FILTRO(
'ExpiredSubscriptions',
'ExpiredSubscriptions'[EndDate] <- ('CurrentSubscriptions'[StartDate].[ Fecha] -1) * 1.
&& 'ExpiredSubscriptions'[EndDate] >- EOMONT('CurrentSubscriptions'[StartDate].[ Fecha],-1)
))



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Hola @Greg_Deckler

Gracias por su respuesta rápida.

He probado la consulta, pero no me deja filtrar entre dos tablas. ¿Hay algo que me estoy perdiendo?

@nicole1995 - Oh, probablemente necesite un agregador alrededor de una referencia de columna (MAX, MIN, etc.) o MAXX(RELATEDTABLE(...) ...)



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...
amitchandak
Super User
Super User

@nicole1995 , ¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.

Un enfoque en este blog debería ayudar

https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...

Se une a dos fechas a la misma tabla de fechas. Aquí, en una fecha podemos tener -1

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Hola @amitchandak

He creado algunos datos de muestra

nicole1995_0-1599570434209.png

Espero que esto tenga sentido

Gracias

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.