Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
this mesure in my table causes a problem , the visual of the table doesn't appear
I want to optimize this DAX formula :
Try this. I can't guarantee it's going to be a lot better (but is certainly better) because I don't know the model.
[%marque_prev] =
// Please do not use cryptic names that nobody
// understands. Consider others as well,
// not only yourself. Many thanks.
var __another_badly_named_measure = [%marge_CA+CRA]
return
IF(
ISBLANK( __another_badly_named_measure ),
1,
// if not blank...
var __measure1 =
CALCULATE(
SUMX(
DISTINCT('polaris_datamart fait_activite'[cout_theorique]),
'polaris_datamart fait_activite'[cout_theorique]
),
KEEPFILTERS(
'polaris_datamart dim_intervenant'[type_intervenant] = "collaborateur"
)
)
var measure2 =
CALCULATE(
SUM( 'polaris_datamart fait_activite'[nb_jour_realise] ),
KEEPFILTERS(
'polaris_datamart dim_nature'[label_nature] = "Projet"
),
KEEPFILTERS(
NOT( 'polaris_datamart dim_gratuite'[gratuite] )
),
KEEPFILTERS(
'polaris_datamart dim_intervenant'[type_intervenant] = "collaborateur"
)
)
var vCoutprev_marge = __measure1 * __measure2
var __ca_ca_cra = [CA_CA+CRA]
return
1 - DIVIDE( vCoutprev_marge, __ca_ca_cra )
)
Yes, the logic should return exactly the same result as your original measure.
Best
D
Another version...
[%marque_prev] =
var __another_badly_named_measure = [%marge_CA+CRA]
return
switch( true(),
ISBLANK( __another_badly_named_measure ), 1,
var __ca_ca_cra = [CA_CA+CRA]
return
if( __ca_ca_cra = 0,
1,
var __measure1 =
CALCULATE(
SUMX(
DISTINCT('polaris_datamart fait_activite'[cout_theorique]),
'polaris_datamart fait_activite'[cout_theorique]
),
KEEPFILTERS(
'polaris_datamart dim_intervenant'[type_intervenant] = "collaborateur"
)
)
var measure2 =
CALCULATE(
SUM( 'polaris_datamart fait_activite'[nb_jour_realise] ),
KEEPFILTERS(
'polaris_datamart dim_nature'[label_nature]) = "Projet"
),
KEEPFILTERS(
NOT( 'polaris_datamart dim_gratuite'[gratuite] )
),
KEEPFILTERS(
'polaris_datamart dim_intervenant'[type_intervenant] = "collaborateur"
)
var vCoutprev_marge = __measure1 * __measure2
return
1 - DIVIDE( vCoutprev_marge, __ca_ca_cra )
)
)
Best
D
Very difficult to troubleshoot without data, etc. See my 2 part series on troubleshooting DAX performance issues:
https://community.powerbi.com/t5/Community-Blog/Performance-Tuning-DAX-Part-1/ba-p/976275
https://community.powerbi.com/t5/Community-Blog/Performance-Tuning-DAX-Part-2/ba-p/976813
okay , thanks
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
14 | |
11 | |
8 | |
8 | |
8 |
User | Count |
---|---|
22 | |
13 | |
11 | |
10 | |
10 |