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
jhills
Advocate II
Advocate II

¿La mejor manera de escribir una medida que suma una cantidad de una tabla primaria filtrando la columna en el elemento secundario?

¿Cuál es la mejor manera de escribir una medida para calcular la suma de la cantidad de Oportunidad donde el usuario actual es el propietario de la Oportunidad (Padre) o en el Equipo de Oportunidad (hijo)?

Aquí están las dos tablas y el resultado que la medida debe devolver.

Oportunidad:

ID de oportunidad

Cantidad

Correo electrónico del propietario de la oportunidad

1

100

Alice@company.com

2

200

Bob@company.com

3

300

Alice@company.com

Equipo de Oportunidades:

ID de equipo de oportunidad

ID de oportunidad

Correo electrónico de miembro del equipo

1000

1

Alice@company.com

1001

1

Sam@company.com

1003

1

Jane@company.com

1004

2

Sam@company.com

1005

2

Jane@company.com

1006

3

Sam@company.com

Resultados

Alice

400

Bob

200

Jane

300

Sam

600

Es una relación de uno a muchos entre las tablas primarias y secundarias basadas en el identificador de oportunidad.

Aquí está el cálculo de Dax que actualmente tengo que está funcionando. Estoy usando la consulta directa y tratando de mejorar el rendimiento. ¿Hay una mejor manera de calcular la suma de la cantidad cuando el usuario actual es el propietario de la oportunidad o en el equipo de oportunidades?

var CurrentUser á USERPRINCIPALNAME()

devolución

CALCULATE(SUM(' Oportunidad '[Importe]),

FILTRO (

'Oportunidad',

' Oportunidad '[Correo electrónico del propietario de la oportunidad] - CurrentUser ?

CALCULATE(COUNTROWS(

FILTRO (

' Equipo de Oportunidades',

' Equipo de oportunidades '[Correo electrónico del miembro del equipo] - CurrentUser

)

)) > 0

)

)

2 REPLIES 2
v-lid-msft
Community Support
Community Support

Hola @jhills ,

Sus medidas parecen bastante adecuado en su escenario, Hacemos algunos pequeños cambios en él de la siguiente manera:

Measure 2 =
VAR CurrentUser =
    USERPRINCIPALNAME ()
RETURN
    CALCULATE (
        SUM ( 'Opportunity'[Amount] ),
        FILTER(
            'Opportunity',
            'Opportunity'[Opportunity Owner Email] = CurrentUser
                || CurrentUser in CALCULATETABLE(DISTINCT('Opportunity Team'[Team Member Email]))
        )      
)

Puede comparar la medida con la anterior y encontrar cuál es más rápida en su escenario.


Saludos

Community Support Team _ Dong Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Gracias @v-lid-msft voy a darle una oportunidad.

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