Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
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
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.