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

Problema con la relación entre 2 tablas para obtener los resultados deseados

Hola a todos,

Tengo 2 mesas,

Cuadro A

GatoSub CatActuarConcatmétrico
abecedarioKJLYuFF- GGThm
CBADfYukk - llThm
abecedarioParaYuyy - jjThm
CBADfYukk - llThm
DRFsin hogarYuyy - jjThm
kjhUiqwyy - jjThm
DRFADFGqwyy - jjThm
DRFsin hogarqwyy - jjThm
DRFADFGqwFF- GGThm
kjhUiqwkk - llThm
kjhUiqwyy - jjThm
kjhUiqwFF- GGThm
kjhUiqwkk - llThm

Cuadro B

GatoSub CatActuarConcatCustmétricoUnido
abecedarioKJLYuFF- GGGFThmDGDF
CBADfYukk - llGFThmDGDF
abecedarioParaYuyy - jjGFThmDGDF
CBADfYukk - llGFThmlabios
DRFsin hogarYuyy - jjGFThmEfewr
kjhUiqwyy - jjGFThmEfewr
DRFADFGqwyy - jjGFThmEfewr
DRFsin hogarqwyy - jjseThmEfewr
DRFADFGqwFF- GGseThmmercado
kjhUiqwkk - llseThmwerg
kjhUiqwyy - jjseThmwerg
kjhUiqwFF- GGseThmwerg
kjhUiqwkk - llseThmYujy
abecedarioKJLYuFF- GGGFThmWEFSDF
CBADfYukk - llGFThmWEFSDF
abecedarioParaYuyy - jjGFThmWEFSDF
CBADfYukk - llGFThmKMKL
DRFsin hogarYuyy - jjGFThmKMKL
kjhUiqwyy - jjGFThmKMKL
DRFADFGqwyy - jjGFThmKMKL
DRFsin hogarqwyy - jjseThmtyjyjht
DRFADFGqwFF- GGseThmtyjyjht
kjhUiqwkk - llseThmtyjyjht
kjhUiqwyy - jjseThmtyjyjht

Ambas tablas tienen una relación de muchos a muchos y son bidireccionales. Salida requerida (parte de fila de la tabla de matriz): -

salida
GatoSub CatActuarConcatCustmétricoUnido
abecedarioKJLYuFF- GGGFThmDGDF
ParaYuyy - jjGFThmDGDF
KJLYuFF- GGGFThmWEFSDF
ParaYuyy - jjGFThmWEFSDF
CBADfYukk - llGFThmDGDF
DfYukk - llGFThmlabios
DfYukk - llGFThmWEFSDF
DfYukk - llGFThmKMKL
DRFsin hogarYuyy - jjGFThmEfewr
ADFGqwyy - jjGFThmEfewr
sin hogarqwyy - jjseThmEfewr
ADFGqwFF- GGseThmmercado
sin hogarYuyy - jjGFThmKMKL
ADFGqwyy - jjGFThmKMKL
sin hogarqwyy - jjseThmtyjyjht
ADFGqwFF- GGseThmtyjyjht
kjhUiqwyy - jjGFThmEfewr
Uiqwkk - llseThmwerg
Uiqwyy - jjseThmwerg
UiqwFF- GGseThmwerg
Uiqwkk - llseThmYujy
Uiqwyy - jjGFThmKMKL
Uiqwkk - llseThmtyjyjht
Uiqwyy - jjseThmtyjyjht

No soy capaz de lograr esto usando dax o modelando también, y también tiene algunas columnas numéricas que no he mostrado en un ejemplo.

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Proporcione una explicación más detallada de lo que pretende lograr. ¿Qué has probado y dónde estás atascado?

Hola @lbendlin ,

Básicamente he creado una relación bidireccional entre cada tabla, ahora lo que el cliente quiere es que desde la tabla A se muestren todos los valores independientemente de si los valores están en la tabla B o no, luego lo cambié a una relación unidireccional donde la tabla A filtra la tabla B, luego la 1ª columna es de la tabla B y luego las siguientes columnas son de la tabla A que no muestran los valores correctos, luego, de nuevo, por último, estamos agregando una columna de la Tabla B que, dado un error de valores, no se puede mostrar.

No puedo mostrar los valores de ambas tablas juntas en una relación unidireccional y, al usar bidireccional, no se muestran todos los valores.

¿Puede confirmar en qué columnas está tratando de crear una relación entre dos tablas?

Hola @vigneshba ,

Hay una columna común entre cada tabla que es una combinación de 2 columnas, lo que está causando una relación de muchos a muchos.

y en el escenario de ejemplo anterior, es la columna de contacto.

Gracias por la respuesta de@vigneshba y@lbendlin, permítanme proporcionar otra idea:
Hola@Jessica_17

Con respecto a la cuestión que planteaste, mi solución es la siguiente:

1.A continuación, cree relaciones entre tablas:

vlinyulumsft_0-1719819235438.png

2.A continuación, el objeto de visualización se modifica para obtener el siguiente resultado:

vlinyulumsft_1-1719819249554.png

3. Aquí está mi resultado final, que espero cumpla con sus requisitos.

vlinyulumsft_2-1719819264449.png

Este es el enfoque más relevante para sus necesidades en lo que a mí respecta.

4.Por supuesto, seguimos recomendando utilizar las siguientes tres opciones si se permiten:

En primer lugar, use la consulta de combinación en powerquery:

vlinyulumsft_3-1719819287638.png

Información general sobre las consultas de combinación - Power Query | Microsoft Learn

En segundo lugar, el uso de columnas personalizadas en powerquery:

vlinyulumsft_5-1719819322573.png

Adición de una columna personalizada en Power BI Desktop - Power BI | Microsoft Learn

En tercer lugar, usando la función lookupvalues() en dax:

Función LOOKUPVALUE (DAX) - DAX | Microsoft Learn

Función RELATED (DAX) - DAX | Microsoft Learn

Por favor, encuentre el pbix adjunto relevante para el caso.

Saludos

Leroy Lu

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

HOLA @v-linyulu-msft ,

Gracias por proporcionar esta solución, creo que no pude entregar en mis preguntas fue que de acuerdo con sus datos también, que Need to so same en la tabla de matriz, pero cuando convierto sus datos también en la tabla de matriz, está mostrando valores de acuerdo con la unión cruzada, como Cat "abc" no tiene valor de concat como "kk-ll" pero está mostrando ese valor delante de "abc" Cat, incluso verifiqué los datos, no tiene esos datos frente a Cat, por lo que básicamente debería filtrar como sean los valores asociados en la columna Concat (por lo que solo se deberían haber mostrado 2 valores en Concat frente a Cat "abc").

Jessica_17_0-1719837360990.png

Hola@Jessica_17

Gracias por su respuesta.

En primer lugar, para sus necesidades, recomiendo utilizar visualizaciones de tablas para mayor comodidad e intuición, y matrices para valores jerárquicos agregados.

En segundo lugar, si aún necesita mostrar ese valor en la matriz, esta es mi solución:

1.En primer lugar, debe insertar el número de serie en PowerQuery para asegurarse de que los valores no se agregan:

vlinyulumsft_0-1721308445005.png

2.A continuación, copie la tabla y asígnele el nombre "cabeza":

vlinyulumsft_1-1721308445006.png

3.A continuación, desactivó:

vlinyulumsft_2-1721308462543.png

4.Por último, deshazte de los duplicados y las filas innecesarias:

vlinyulumsft_3-1721308462544.png

vlinyulumsft_4-1721308473263.png

5. A continuación se muestran las medidas que he creado para sus necesidades:

Measure = 
SWITCH(TRUE(),
MAX('head'[Attribute])="Cat",CALCULATE(MAX('Table'[Cat]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index]))),
MAX('head'[Attribute])="Act",CALCULATE(MAX('Table'[Act]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index]))),
MAX('head'[Attribute])="concat",CALCULATE(MAX('Table'[concat]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index]))),
MAX('head'[Attribute])="cust",CALCULATE(MAX('Table'[cust]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index]))),
MAX('head'[Attribute])="metric",CALCULATE(MAX('Table'[metric]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index]))),
MAX('head'[Attribute])="Sub Cat",CALCULATE(MAX('Table'[Sub Cat]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index]))),
MAX('head'[Attribute])="trad",CALCULATE(MAX('Table'[trad]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index])))
,FALSE())

6. A continuación, modifique la configuración de visualización:

vlinyulumsft_5-1721308529525.png

7. Aquí está mi resultado final, que espero cumpla con sus requisitos.

vlinyulumsft_6-1721308529527.png

Por favor, encuentre la pbix adjunta relevante para el caso.

Saludos

Leroy Lu

Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Hola @v-linyulu-msft

Gracias por la solución, pero creo que lo hice un poco complejo, solo necesito matriz y solo la parte de concat necesita filtrarse de acuerdo con los valores de la columna anterior como lo había hecho en los pasos anteriores, el resto se pueden resolver ya que ya ha completado esa parte.

Jessica_17_0-1721333047696.png

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