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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
oBi1
Frequent Visitor

DAX - Uso de la búsqueda en un campo relacionado en CALCULATETABLE

Hola equipo

¿Puede alguien complacerme a ayudarme con esto.

Estoy usando DAX para gerenate un subconjunto de una tabla - usando la siguiente estructura:

Evaluar

ADDCOLUMNS(

CALCULATETABLE(

tabla1,

SEARCH("text",table1[column1],1,0)>0

),

"region", RELATED(table2[Region])

)

lo que realmente me gustaría hacer es también 'filtrar' en una columna de la tabla relacionada (tabla2).

Esta tabla está relacionada con table1 en el modelo de datos. Mi intento feable fue: añadir

search("othertext",RELATED(table2[column2],1,0)>0

después de la primera línea DE BUSCAR (además de añadir un , allí obviamente)

Cualquier idea como lo hace...

¡Gracias!

Owen

7 REPLIES 7
az38
Community Champion
Community Champion

@oBi1

¿Estás seguro de que usaste esto? no hay paréntesis de cierre para RELATED()

search("othertext",RELATED(table2[column2] ) ,1,0)>0


do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn
oBi1
Frequent Visitor

Sí, lo siento, ese fue un error tipográfico que me perdí al escribir mi pregunta.

El mensaje de error dice:

25/07/2020 14:28:08 Consulta (14, 41) La columna 'table2[column2]' no existe o no tiene una relación con ninguna tabla disponible en el contexto actual.

Hola @oBi1 ,

La función RELACIONADA requiere que exista una relación entre la tabla actual y la tabla con información relacionada.

https://dax.guide/related/

En función del error, puede confirmar si existe una relación.

Si no, intente usar la búsqueda.

https://dax.guide/lookupvalue/

saludos
Harsh Nathani

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

confirmada que existe una relación entre table1 y table2

casi parece que DAX olvida que cuando está dentro de la instrucción CALCULATETABLE...

¿Podría ser una solución:

en lugar de hacer CALCULATETABLE(table1, SEARCH(....

hacer: CALCULATETABLE ( table1, RELATEDTABLE(table2) y, a continuación, iniciar las búsquedas.

no estoy seguro de si esto me golpeará en la cara de cualquier otra manera (performancewise o cualquier otra gema oculta), pero siento que tengo que reconfirmar al motor DAX cuáles son las tablas que se utilizan antes de hacer funciones de búsqueda, etc.

Hola @oBi1 ,

Confirme la relación entre la tabla 1 y la tabla 2 y por favor intente utilizar el siguiente dax:

EVALUATE
SUMMARIZE (
    FILTER ( table1, SEARCH ( "text", table1[column1], 1, 0 ) > 0 ),
    "region", MAX ( table2[Region] )
)

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Dedmon Dai

Una versión muy corta de mi post anterior que debido a un error de Internet no se publicó:

* Mi Excel se estrelló antes de que pudiera probar la solución, haciendo un poco de mi trabajo inutilizable;

* Terminé usando otra manera de evitar esto haciendo más trabajo de combinación en Power Query y básicamente sólo DAX consultando y filtrando 1 tabla desde el modelo de datos

Muchas gracias por su disposición a responder

Hola @oBi1 ,

Gracias por compartir la información. ¿Podría aceptar una respuesta útil como respuesta para ayudar a los demás miembros a encontrarla más rápidamente?

Saludos

Dedmon Dai

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors