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.
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
Renovaciones | Fecha de renovación | |||
Septiembre | Octubre | |||
Tipo | Total renovado | Elevación aplicada | Total renovado | Elevació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"
Solved! Go to Solution.
Hola, @nicole1995
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Suscripción actual:
Suscripción caducada:
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:
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.
Hola, @nicole1995
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Suscripción actual:
Suscripción caducada:
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:
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.
@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)
))
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(...) ...)
@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
Se une a dos fechas a la misma tabla de fechas. Aquí, en una fecha podemos tener -1
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |