Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. 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.