cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Regular 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
Super User II
Super User II

@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
Regular 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
secondImage

Congratulations!

We are excited to announce the Power BI Super Users!

Microsoft Ignite

Microsoft Ignite with Arun Ulag

Featured Session: Drive Data Culture with Power BI- Vision, Strategy & Roadmap. Register here https://myignite.microsoft.com #MSIgnite #PowerPlatform #Power BI ​

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.