Naunidh
Tengo dos conjuntos de datos, Grupo A y Grupo B, como se muestra a continuación.
Grupo A | Desayuno | Almuerzo | Cena | GrupoB | Desayuno | Almuerzo | Cena | |
A1 | Cereal | Pasta | Vegetales | B1 | Cereal | Pasta | Vegetales | |
A2 | Huevos | Comida rápida | Carne | B2 | Fruta | Comida rápida | Pan de molde | |
A3 | Fruta | Arroz | Pan de molde | B3 | Cereal | Comida rápida | Carne | |
A4 | Cereal | Emparedado | Carne | B4 | Huevos | Emparedado | Pan de molde |
Me gustaría poder definir una relación entre los miembros del grupo A y el grupo B. Por ejemplo, si elijo un miembro del Grupo A, digamos A1, me gustaría saber qué tan similar es a cada miembro del Grupo B En este caso, A1 es exactamente como B1, ya que las tres categorías coinciden; en este caso, la fuerza de la relación es 3. Pero A1 es muy diferente de B4, donde la fuerza de la relación es 0. Así que me gustaría tener 1) la fuerza de la relación ( 0 rto 3) y 2) detalles de la relación, es decir, qué campos son comunes.
Gracias de antemano por su ayuda Comunidad.
TomMartens
Hola @Naunidh,
Creé dos tablas Tabla A y Tabla B
Creé 2 medidas (buscando A en B), solo creo medidas adicionales para el revés.
Estas son mis medidas:
level of similarity =
IF( HASONEVALUE( 'TableA'[GroupA] )
, IF( HASONEVALUE( 'TableB'[GroupB] )
, var searchstring =
CONCATENATEX(
'TableA'
, COMBINEVALUES( "|", 'TableA'[Breakfast] , 'TableA'[Lunch] , 'TableA'[Dinner] )
, "|"
)
return
SUMX(
'TableB'
, var stringToCompare = COMBINEVALUES( "|", 'TableB'[Breakfast] , 'TableB'[Lunch] , 'TableB'[Dinner] )
var lengthSearch = PATHLENGTH( searchstring )
var t =
ADDCOLUMNS(
GENERATESERIES( 1 , lengthSearch , 1 )
, "isfound" , IF( PATHCONTAINS( stringToCompare , PATHITEM( searchstring , [Value] ) ) , 1 , 0 )
)
return
SUMX( t , [isfound] )
)
, BLANK()
)
, "Select one item from Group A"
)
y
similar items =
IF( HASONEVALUE( 'TableA'[GroupA] )
, IF( HASONEVALUE( 'TableB'[GroupB] )
, var searchstring =
CONCATENATEX(
'TableA'
, COMBINEVALUES( "|", 'TableA'[Breakfast] , 'TableA'[Lunch] , 'TableA'[Dinner] )
, "|"
)
return
CONCATENATEX(
'TableB'
, var stringToCompare = COMBINEVALUES( "|", 'TableB'[Breakfast] , 'TableB'[Lunch] , 'TableB'[Dinner] )
var lengthSearch = PATHLENGTH( searchstring )
var t =
ADDCOLUMNS(
GENERATESERIES( 1 , lengthSearch , 1 )
, "founditem" , IF( PATHCONTAINS( stringToCompare , PATHITEM( searchstring , [Value] ) ) , PATHITEM( searchstring , [Value] ) , BLANK() )
)
return
CONCATENATEX( t , [founditem] , ", " )
)
, BLANK()
)
, "Select one item from Group A"
)
Esto permite crear este informe:
Con suerte, esto proporciona algunas ideas sobre cómo abordar su desafío.
Saludos,
Tomás
TomMartens
Hola @Naunidh,
Creé dos tablas Tabla A y Tabla B
Creé 2 medidas (buscando A en B), solo creo medidas adicionales para el revés.
Estas son mis medidas:
level of similarity =
IF( HASONEVALUE( 'TableA'[GroupA] )
, IF( HASONEVALUE( 'TableB'[GroupB] )
, var searchstring =
CONCATENATEX(
'TableA'
, COMBINEVALUES( "|", 'TableA'[Breakfast] , 'TableA'[Lunch] , 'TableA'[Dinner] )
, "|"
)
return
SUMX(
'TableB'
, var stringToCompare = COMBINEVALUES( "|", 'TableB'[Breakfast] , 'TableB'[Lunch] , 'TableB'[Dinner] )
var lengthSearch = PATHLENGTH( searchstring )
var t =
ADDCOLUMNS(
GENERATESERIES( 1 , lengthSearch , 1 )
, "isfound" , IF( PATHCONTAINS( stringToCompare , PATHITEM( searchstring , [Value] ) ) , 1 , 0 )
)
return
SUMX( t , [isfound] )
)
, BLANK()
)
, "Select one item from Group A"
)
y
similar items =
IF( HASONEVALUE( 'TableA'[GroupA] )
, IF( HASONEVALUE( 'TableB'[GroupB] )
, var searchstring =
CONCATENATEX(
'TableA'
, COMBINEVALUES( "|", 'TableA'[Breakfast] , 'TableA'[Lunch] , 'TableA'[Dinner] )
, "|"
)
return
CONCATENATEX(
'TableB'
, var stringToCompare = COMBINEVALUES( "|", 'TableB'[Breakfast] , 'TableB'[Lunch] , 'TableB'[Dinner] )
var lengthSearch = PATHLENGTH( searchstring )
var t =
ADDCOLUMNS(
GENERATESERIES( 1 , lengthSearch , 1 )
, "founditem" , IF( PATHCONTAINS( stringToCompare , PATHITEM( searchstring , [Value] ) ) , PATHITEM( searchstring , [Value] ) , BLANK() )
)
return
CONCATENATEX( t , [founditem] , ", " )
)
, BLANK()
)
, "Select one item from Group A"
)
Esto permite crear este informe:
Con suerte, esto proporciona algunas ideas sobre cómo abordar su desafío.
Saludos,
Tomás
Amitchandak
@Naunidh, puedes crear una tabla como
A B
A1 B1
A2 B2
Únase con la tabla 1 en el GrupoA y la tabla 2 en el Grupob y luego puede ver o filtrar (dropdown) y luego juntos
Naunidh
En respuesta a Amitchandak
Gracias Amit. Espero que mis dos tablas tengan miles de filas. y me gustaría seleccionar un miembro del Grupo A o B y ver cómo ese elemento se relaciona con todos los elementos individuales o con el Grupo opuesto.