cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Frequent Visitor

## Divide every row in a Matrix by a static calculated row

I am not entirely sure how to ask this question, but I will give it my best shot.  I am fairly new to Power BI, but worked in other data modeling/reporting systems.

We have found that income statments are not easy in Power BI, but we have managed a work-around with the exception of one area.  We need to get the percentage of each row against Revenue.  So, for example, every row in the matrix below should divide against the highlighted revenue value.  However, nothing we have tried will make that figure static down the rows and as a result, the percentages get wacky.

The model looks as follows:

We have searched the internet for solutions, tried every type of measure we could find, attemped a few creative measures of our own, created a grouped "revenue only" table using a primary key to sum those totals in measures.

Any help is greatly appreciated.  Until this is resolved, these reports are being manually distributed to the sales team.

1 ACCEPTED SOLUTION
Community Support

Hi @SMYAguirre ,

``````Measure =
VAR _a =
SUM ( TransactionsAgg[GLTotalAmount_Rev] )
VAR _b =
CALCULATE (
SUM ( TransactionsAgg[GLTotalAmount_Rev] ),
FILTER ( ALL ( '..Report Structure' ), [GL Category] = "Revenue" ),
REMOVEFILTERS (
TransactionsAgg[ChartOfAccounts.GL Sub Category],
TransactionsAgg[ChartOfAccounts.GL_Code_Desc]
)
)
RETURN
DIVIDE ( _a, _b )
``````

Final output:

Best Regards,

Jianbo Li

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

6 REPLIES 6
Community Support

Hi @SMYAguirre ,

``````Measure =
VAR _a =
SUM ( TransactionsAgg[GLTotalAmount_Rev] )
VAR _b =
CALCULATE (
SUM ( TransactionsAgg[GLTotalAmount_Rev] ),
FILTER ( ALL ( '..Report Structure' ), [GL Category] = "Revenue" ),
REMOVEFILTERS (
TransactionsAgg[ChartOfAccounts.GL Sub Category],
TransactionsAgg[ChartOfAccounts.GL_Code_Desc]
)
)
RETURN
DIVIDE ( _a, _b )
``````

Final output:

Best Regards,

Jianbo Li

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Frequent Visitor

Thank you so much!!  This worked and looking at the measure I understand why it worked.  Thank you again!!!

Community Support

Hi @SMYAguirre ,

What is your measure TransactionsAgg[GLTotalAmount_Rev]? What does your data look like? Sorry for that the information you have provided is not making the problem clear to me. Can you please share more details to help us clarify your scenario?

Refer to:

How to provide sample data in the Power BI Forum

Best Regards,

Jianbo Li

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Frequent Visitor

I apologize that I was not clear.  That "TransactionsAgg[GLTotalAmount_Rev]" is the "Value" column you see in the matrix.  I have modified the data and the report so I could share pbix file and the matrix in question.  Please see the link below:

https://1drv.ms/u/s!ArrJvtdfd3Ak6im_zT5KDplM4E-C?e=7DNBYu

The problem I am having is that while the measure you provided works at the top level, it does not work for the levels beneath (highlighted in screen shot below):

I hope this makes things more clear.  Thank you!

Frequent Visitor

Thank you. This partially worked, but not completely.

I used:

Measure = DIVIDE(TransactionsAgg[GLTotalAmount_Rev]),CALCULATE(SUM(TransactionsAgg[GLTotalAmount_Rev]), FILTER(ALL(TransactionsAgg),[GL Category]="Revenue")))

So this is dividing the sum of GLTotalAmount by the sum of GLTotalAmount where the GL Category = Revenue, correct? That makes sense, but this is the result.

The levels below were not populated.  Is there a way to include the lowest level in that measure?

Thank you again!!

Community Support

Hi @SMYAguirre ,

Based on your description, I have created a simple sample:

``Measure = DIVIDE(SUM('Table'[Value]),CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),[GL Category]="Revenue")))``

Final output:

Best Regards,

Jianbo Li

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.