The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
I have three tables, PROJECTS, TIME and ACTUAL. In PROJECTS I have the list of projects (PROJECTID, DESCRIPTION), in TIME I have the list of all the dates (DATE, YEAR, MONTH, YEAR-MONTH), in ACTUAL there are the costs recorded for each project and for each date (PROJECTID , DATE, YEAR, MONTH, YEAR-MONTH, ARTICLE, QUANTITY, AMOUNT). The ACTUAL table is logically linked with a 1:N relationship to the PROJECTS table (PROJECTS.PROJECTID 1:N ACTUAL.PROJECTID). The ACTUAL table is also logically linked to the TIME table (TIME.DATE 1:N ACTUAL.DATE). The PROJECTS and TIME tables are not logically linked. How could the DAX code be to build a calculated table that has as fields: PROJECTID, YEAR-MONTH and COSTITOT (where COSTITOT is for PROJECT/YEAR-MONTH the cumulative cost, i.e. the progressive sum of all the ACTUAL.AMOUNT from the beginning of dates up to YEAR-MONTH ) ?
Solved! Go to Solution.
Hi @Flabenu ,
According to your statement, I think [PROJECTID] and [YEAR-MONTH] you need are both in 'ACTUAL' table.
You can just create the calculated table based on 'ACTUAL' table.
I am still confused about the calculation logic about [COSTITOT] which is based on PROJECT/YEAR-MONTH.
Do you want to get a table which will show progressive costs? I think it should be comulative amount/ comulative quantity.
I think you can try code as below to create a calculated table.
Calculated Table =
SUMMARIZE (
'ACTUAL',
'ACTUAL'[PROJECTID],
'ACTUAL'[YEAR-MONTH],
"Progressive Costs",
VAR _Quantity =
CALCULATE (
SUM ( 'ACTUAL'[QUANTITY] ),
FILTER (
'ACTUAL',
'ACTUAL'[PROJECTID] = EARLIER ( [PROJECTID] )
&& 'ACTUAL'[YEAR-MONTH] <= EARLIER ( [YEAR-MONTH] )
)
)
VAR _AMOUNT =
CALCULATE (
SUM ( 'ACTUAL'[AMOUNT] ),
FILTER (
'ACTUAL',
'ACTUAL'[PROJECTID] = EARLIER ( [PROJECTID] )
&& 'ACTUAL'[YEAR-MONTH] <= EARLIER ( [YEAR-MONTH] )
)
)
RETURN
DIVIDE ( _AMOUNT, _Quantity )
)
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Flabenu ,
According to your statement, I think [PROJECTID] and [YEAR-MONTH] you need are both in 'ACTUAL' table.
You can just create the calculated table based on 'ACTUAL' table.
I am still confused about the calculation logic about [COSTITOT] which is based on PROJECT/YEAR-MONTH.
Do you want to get a table which will show progressive costs? I think it should be comulative amount/ comulative quantity.
I think you can try code as below to create a calculated table.
Calculated Table =
SUMMARIZE (
'ACTUAL',
'ACTUAL'[PROJECTID],
'ACTUAL'[YEAR-MONTH],
"Progressive Costs",
VAR _Quantity =
CALCULATE (
SUM ( 'ACTUAL'[QUANTITY] ),
FILTER (
'ACTUAL',
'ACTUAL'[PROJECTID] = EARLIER ( [PROJECTID] )
&& 'ACTUAL'[YEAR-MONTH] <= EARLIER ( [YEAR-MONTH] )
)
)
VAR _AMOUNT =
CALCULATE (
SUM ( 'ACTUAL'[AMOUNT] ),
FILTER (
'ACTUAL',
'ACTUAL'[PROJECTID] = EARLIER ( [PROJECTID] )
&& 'ACTUAL'[YEAR-MONTH] <= EARLIER ( [YEAR-MONTH] )
)
)
RETURN
DIVIDE ( _AMOUNT, _Quantity )
)
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Flabenu ,
Make the relationship between TIME & ACTUAL bi-directional & then try to create the table. If it doesn't work, please share the sample file.
User | Count |
---|---|
16 | |
8 | |
6 | |
6 | |
5 |
User | Count |
---|---|
23 | |
13 | |
13 | |
8 | |
8 |