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

Add calculated item to a Matrix

Hello,

i am using a matrix to group my data like this.

Dashboard.JPG

the last 3 columns are measures.

I want to add calculates items(yellow rows) and get a result like this.

dashboard resultado.JPG

 

How can i do it? 

thanks for your help.

 

2 ACCEPTED SOLUTIONS
v-juanli-msft
Community Support
Community Support

Hi @carloscabreraq

There is no direct way in Power BI to achieve this requirment.

Here is a workaround

 

1.Create a new table with the same structure as your "transaccion" table,

This is to say, the new table has the same numbers of columns and the same column names, but only keep two rows and let the cells filled with 0 except the [tipo] column.

9.png

I create this table using Excel:

Copy the whole "transaccion" table, then paste in the Excel, 

delete all rows from this table in Excel, but keep the column header,

fill "e","f" in the [tipo] column as above, fill 0 in other cells (only create two rows)

 

2. import created table above into Power BI, the append this table to "transaccion" table in Power Query

Open Queries editor,

in "transaccion" table, select Home->"Append", 

10.png

then Close&&Apply, go to Report view

 

3. create measures based on the three measures

Last Month1 =
VAR sub_e =
    CALCULATE ( [Last Month], FILTER ( ALL ( transaccion ), [tipo] = "d" ) )
        - CALCULATE ( [Last Month], FILTER ( ALL ( transaccion ), [tipo] = "c" ) )
VAR sub_f =
    CALCULATE ( [Last Month], FILTER ( ALL ( transaccion ), [tipo] = "a" ) )
        + sub_e
RETURN
    SWITCH ( MAX ( [tipo] ), "e", sub_e, "f", sub_f, [Last Month] )

11.png

Last MTD1 =
VAR sub_e =
    CALCULATE ( [Last MTD], FILTER ( ALL ( transaccion ), [tipo] = "d" ) )
        - CALCULATE ( [Last MTD], FILTER ( ALL ( transaccion ), [tipo] = "c" ) )
VAR sub_f =
    CALCULATE ( [Last MTD], FILTER ( ALL ( transaccion ), [tipo] = "a" ) )
        + sub_e
RETURN
    SWITCH ( MAX ( [tipo] ), "e", sub_e, "f", sub_f, [Last MTD] )


MTD1 =
VAR sub_e =
    CALCULATE ( [MTD], FILTER ( ALL ( transaccion ), [tipo] = "d" ) )
        - CALCULATE ( [MTD], FILTER ( ALL ( transaccion ), [tipo] = "c" ) )
VAR sub_f =
    CALCULATE ( [MTD], FILTER ( ALL ( transaccion ), [tipo] = "a" ) )
        + sub_e
RETURN
    SWITCH ( MAX ( [tipo] ), "e", sub_e, "f", sub_f, [MTD] )

 

Best Regards

Maggie

 

 

View solution in original post

Hi @carloscabreraq

To let this measure work with slicer, change "ALL"to "ALLSELECTED".

 

Best Regrads

Maggie

View solution in original post

4 REPLIES 4
v-juanli-msft
Community Support
Community Support

Hi @carloscabreraq

There is no direct way in Power BI to achieve this requirment.

Here is a workaround

 

1.Create a new table with the same structure as your "transaccion" table,

This is to say, the new table has the same numbers of columns and the same column names, but only keep two rows and let the cells filled with 0 except the [tipo] column.

9.png

I create this table using Excel:

Copy the whole "transaccion" table, then paste in the Excel, 

delete all rows from this table in Excel, but keep the column header,

fill "e","f" in the [tipo] column as above, fill 0 in other cells (only create two rows)

 

2. import created table above into Power BI, the append this table to "transaccion" table in Power Query

Open Queries editor,

in "transaccion" table, select Home->"Append", 

10.png

then Close&&Apply, go to Report view

 

3. create measures based on the three measures

Last Month1 =
VAR sub_e =
    CALCULATE ( [Last Month], FILTER ( ALL ( transaccion ), [tipo] = "d" ) )
        - CALCULATE ( [Last Month], FILTER ( ALL ( transaccion ), [tipo] = "c" ) )
VAR sub_f =
    CALCULATE ( [Last Month], FILTER ( ALL ( transaccion ), [tipo] = "a" ) )
        + sub_e
RETURN
    SWITCH ( MAX ( [tipo] ), "e", sub_e, "f", sub_f, [Last Month] )

11.png

Last MTD1 =
VAR sub_e =
    CALCULATE ( [Last MTD], FILTER ( ALL ( transaccion ), [tipo] = "d" ) )
        - CALCULATE ( [Last MTD], FILTER ( ALL ( transaccion ), [tipo] = "c" ) )
VAR sub_f =
    CALCULATE ( [Last MTD], FILTER ( ALL ( transaccion ), [tipo] = "a" ) )
        + sub_e
RETURN
    SWITCH ( MAX ( [tipo] ), "e", sub_e, "f", sub_f, [Last MTD] )


MTD1 =
VAR sub_e =
    CALCULATE ( [MTD], FILTER ( ALL ( transaccion ), [tipo] = "d" ) )
        - CALCULATE ( [MTD], FILTER ( ALL ( transaccion ), [tipo] = "c" ) )
VAR sub_f =
    CALCULATE ( [MTD], FILTER ( ALL ( transaccion ), [tipo] = "a" ) )
        + sub_e
RETURN
    SWITCH ( MAX ( [tipo] ), "e", sub_e, "f", sub_f, [MTD] )

 

Best Regards

Maggie

 

 

Hi @v-juanli-msft when i use a Filter with a slicer, the new measures doesnt work, they get me the TOTAL. I think it is because the

 FILTER ( ALL ( transaccion ),)

 

Regards

Carlos CQ

Hi @carloscabreraq

To let this measure work with slicer, change "ALL"to "ALLSELECTED".

 

Best Regrads

Maggie

Thanks @v-juanli-msft

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.