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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Sintaxis para QUE RELATEDTABLE combine diferentes tablas

Hola a todos

Tengo dos tablas como tabla de cliente y tabla de transacciones.

Quiero crear una nueva tabla utilizando las columnas de ambas tablas y luego usar la función RESUMIR para lograr mi requisito.

He intentado crear el siguiente DAX:

NewTable =
VAR Combinetable = ADDCOLUMNS('Cliente',"TYear",RELACIONADO('Transacción'[Año de transacción]))
Devolución
CALCULATETABLE(SUMMARIZE(
Combinable,
Cliente[Vertical],
Cliente[ID de cliente],
Cliente[Nombre del cliente],
[Año],
"Medida1",[Medida1],"Medida2",[Medida2]),
FILTER('transacción',[is demo] = false)
)
El error que recibo es "La columna 'Transacción [Año de transacción]' no existe o no tiene relación con ninguna tabla disponible en el contexto actual".
En el modelo de datos, mi relación entre las dos tablas es De muchos a uno (de transacción a cliente) en clave de cliente (y la dirección del filtro cruzado es Ambos).

Además, he intentado usar la función RELATEDTABLE como
VAR Combinetable = ADDCOLUMNS('Client',"TYear",RELATEDTABLE('Transaction'),[Transaction Year])
El error dice: "La función ADDCOLUMNS espera un nombre de columna como argumento número 4".

¿Cómo puedo corregir mi DAX para cumplir con este requisito?



1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@SaloniGupta prueba esto:

SUMMARIZE(

FILTER(
'Transaction', 
'Transaction'[Is Test Order] = False && 
'Source System'[Name] = "Professional" &&
'Client'[Is Demo] = False &&
'Client'[Is Client Test Mode] = False &&
'Transaction Date'[Year] <> BLANK()
),
Client[Vertical],
Client[Client Id],
Client[Client Name],
'Transaction'[Transaction Year],
"Measure1" , [Measure1] , "Measure2",[Measure2])

Síguenos en LinkedIn

Revisa mi última publicación de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

View solution in original post

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

@SaloniGupta Pues hay que comprobar si el filtrado en todas estas condiciones devuelve alguna fila, no lo puedo decir.

Síguenos en LinkedIn

Revisa mi última publicación de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

Hola @parry2k ,
Muchas gracias por su ayuda y tiempo.
Tengo una pregunta más aquí, ¿qué pasa si necesito obtener Fecha de transacción [Año] en lugar de Transacción [Año]. La tabla Fecha de transacción no tiene relación con la tabla de cliente, pero la relación de transacción a fecha de transacción es De muchos a uno.
¿Cómo puedo hacer que la siguiente consulta funcione?

RESUMIR(
FILTER('Fecha de la transacción',
'Fecha de la transacción'[Año] <> BLANK() &&
SELECTEDVALUE('transacción'[se importa]) = false &&
SELECTEDVALUE('transacción'[es orden de prueba]) = false
&& SELECTEDVALUE('cliente'[es demo]) = false
&& SELECTEDVALUE('client'[es el modo de prueba del cliente]) = false
),
«Fecha de la transacción» [Año],
Cliente[Vertical],
Cliente[ID de cliente],
Cliente[Nombre de instancia], "Medida1",[Medida1],"Medida2",[Medida2])
Syndicate_Admin
Administrator
Administrator

@SaloniGupta prueba esto:

SUMMARIZE(

FILTER(
'Transaction', 
'Transaction'[Is Test Order] = False && 
'Source System'[Name] = "Professional" &&
'Client'[Is Demo] = False &&
'Client'[Is Client Test Mode] = False &&
'Transaction Date'[Year] <> BLANK()
),
Client[Vertical],
Client[Client Id],
Client[Client Name],
'Transaction'[Transaction Year],
"Measure1" , [Measure1] , "Measure2",[Measure2])

Síguenos en LinkedIn

Revisa mi última publicación de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

Hola @parry2k,
Lo he intentado de esa manera, pero por alguna razón, ahora no hay valores en la tabla.

RESUMIR(
FILTER('Transacción',
'Transacción'[Se importa] = Falso && 'Transacción'[Es orden de prueba] = Falso &&
SELECTEDVALUE('Source System'[Nombre]) = "Profesional" &&
SELECTEDVALUE('cliente'[es demo]) = false &&
SELECTEDVALUE('client'[is client test mode]) = false &&
SELECTEDVALUE('Fecha de la transacción'[Año]) <> BLANK()
),
Cliente[Vertical],
Cliente[ID de cliente],
Cliente[Nombre de instancia],
'Transacción'[Año de transacción],"Medida1",[Medida1],"Medida2",[Medida2])
SaloniGupta_0-1633406033304.png

Syndicate_Admin
Administrator
Administrator

@SaloniGupta cuál es la relación entre todas estas tablas?

Hola @parry2k ,
Relaciones entre estas tablas:
Transacción al sistema de origen (Muchos a uno),
Transacción al cliente (muchos a uno) (filtro cruzado = ambos),
Transacción a fecha de transacción (muchos a uno)

Syndicate_Admin
Administrator
Administrator

@SaloniGupta Creo que necesitas esto si quieres datos para cada año del cliente:

New Table = 
SUMMARIZE(
FILTER('Transaction',[Is Demo] = False),
Client[Vertical],
Client[Client Id],
Client[Client Name],
'Transaction'[TYear],
"Measure1",[Measure1],
"Measure2",[Measure2])
)

Síguenos en LinkedIn

Revisa mi última publicación de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

Hola @parry2k ,
Gracias por responder.
Disculpas No lo mencioné antes, pero también tengo otros filtros en mi DAX como se muestra a continuación:

RESUMIR(
FILTER('Sistema de origen',[Nombre] = "Profesional"),
FILTER('cliente',[is demo] = false && [is client test mode] = false),
FILTER('transacción', [es orden de prueba] = false),
FILTER('Fecha de transacción',[Año] <> BLANK()),
Cliente[Vertical],
Cliente[ID de cliente],
Cliente[Nombre del cliente],
'Transacción'[Año de transacción],
"Medida1" , [Medida1] , "Medida2",[Medida2])

Esto me da un error que dice: "La función RESUMIR espera un nombre de columna como argumento número 2".
Syndicate_Admin
Administrator
Administrator

@SaloniGupta Creo que la tabla de transacciones está en los muchos lados de la relación y si ese es el caso, entonces no puede usar RELACIONADO

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!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors