
Profit = Sum<UseLookupForAttributes=False>(Profit) {~+}

Report Definition:

Report Result and SQL:

ACTION
This issue has been addressed in MicroStrategy 10.9.
SQL:
create table ZZMD00 as
select a12.QUARTER_ID QUARTER_ID_2,
sum(a11.TOT_COST) WJXBFS1
from DAY_CTR_SLS a11
join LU_DAY a12
on (a11.DAY_DATE = a12.DAY_DATE)
group by a12.QUARTER_ID
create table ZZMD01 as
select a13.QUARTER_ID QUARTER_ID_2,
a12.COUNTRY_ID COUNTRY_ID,
sum((a11.TOT_DOLLAR_SALES - a11.TOT_COST)) WJXBFS1
from DAY_CTR_SLS a11
join LU_CALL_CTR a12
on (a11.CALL_CTR_ID = a12.CALL_CTR_ID)
join LU_DAY a13
on (a11.DAY_DATE = a13.DAY_DATE)
where a13.QUARTER_ID in (20081, 20084, 20093, 20094)
group by a13.QUARTER_ID,
a12.COUNTRY_ID
select pa12.QUARTER_ID_2 QUARTER_ID_2,
a13.QUARTER_DESC QUARTER_DESC,
pa11.COUNTRY_ID COUNTRY_ID,
pa12.WJXBFS1 WJXBFS1,
pa11.WJXBFS1 WJXBFS2
from ZZMD01 pa11
right outer join ZZMD00 pa12
on (pa11.QUARTER_ID_2 = pa12.QUARTER_ID_2)
join LU_QUARTER a13
on (pa12.QUARTER_ID_2 = a13.QUARTER_ID)
drop table ZZMD00 purge
drop table ZZMD01 purge
Notice now pa12 (in blue above) is used to join to LU_QUARTER instead of pa11, preserving the outer join for Profit metric.
WORKAROUND
Change downward outer join to the second or third option to generate SQL which properly handles the level metric's outer joins.
The MicroStrategy Internal Reference Number for the issue discussed in this technical note is KB439678 and DE55671.