Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Table with multiple measures

Hi,

I have request for table with multiple measures, report has Date Slicer.

I have a whole series of measures that are all coming from a single table, so total I have 16 Measures.

For each Measure I have set of 4 calculations: [Measure1 Week], [Measure1 wk/wk], [Measure1 YTD], [Measure1 YoY]

Currently they are all separate cards.

Using Table or Matrix I am able to show all Measures Label with one dimension in one row or one column

but  how to put them all together and still be responsive to time intelligence, Date Slicer?

 

Any ideas will be appreciated.

Thanks

  • Hi Anonymous ,

     

    We can use the following steps to meet your requirement.

     

    1. Create a crossjoin table that contains the measure of row name and the measure of column name.

     

    crossjoin table = CROSSJOIN(DATATABLE("Row",STRING,{{"Measure 1"},{"Measure 2"}}),DATATABLE("Column",STRING,{{"A"},{"B"}}))

     

     

    2. We can create a measure in crossjoin table,

     

    Measure = 
    SUMX (
        VALUES ( 'crossjoin table'[Row] ),
        SWITCH (
            'crossjoin table'[Row],
            "Measure 1", SUMX (
                VALUES ( 'crossjoin table'[Column] ),
                SWITCH ( 'crossjoin table'[Column], "A", [Measure 1 - A], "B", [Measure 1 - B] )
            ),
            "Measure 2", SUMX (
                VALUES ( 'crossjoin table'[Column] ),
                SWITCH ( 'crossjoin table'[Column], "A", [Measure 2 - A], "B", [Measure 2 - B] )
            )
        )
    )

     

    3. At last we can get the result like this, select a matrix table, and put the crossjoin table[Row] in Rows, put the crossjoin table[Column] in Columns, put the [Measure] in Values.

     

     

    If it doesn’t meet your requirement, could you please show the exact expected result based on the table that you have shared?

    BTW, pbix as attached.

     

    Best regards,

     

    Community Support Team _ zhenbw

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

2 Replies

  • v-zhenbw-msft's avatar
    v-zhenbw-msft
    Icon for Community Support rankCommunity Support

    Hi Anonymous ,

     

    We can use the following steps to meet your requirement.

     

    1. Create a crossjoin table that contains the measure of row name and the measure of column name.

     

    crossjoin table = CROSSJOIN(DATATABLE("Row",STRING,{{"Measure 1"},{"Measure 2"}}),DATATABLE("Column",STRING,{{"A"},{"B"}}))

     

     

    2. We can create a measure in crossjoin table,

     

    Measure = 
    SUMX (
        VALUES ( 'crossjoin table'[Row] ),
        SWITCH (
            'crossjoin table'[Row],
            "Measure 1", SUMX (
                VALUES ( 'crossjoin table'[Column] ),
                SWITCH ( 'crossjoin table'[Column], "A", [Measure 1 - A], "B", [Measure 1 - B] )
            ),
            "Measure 2", SUMX (
                VALUES ( 'crossjoin table'[Column] ),
                SWITCH ( 'crossjoin table'[Column], "A", [Measure 2 - A], "B", [Measure 2 - B] )
            )
        )
    )

     

    3. At last we can get the result like this, select a matrix table, and put the crossjoin table[Row] in Rows, put the crossjoin table[Column] in Columns, put the [Measure] in Values.

     

     

    If it doesn’t meet your requirement, could you please show the exact expected result based on the table that you have shared?

    BTW, pbix as attached.

     

    Best regards,

     

    Community Support Team _ zhenbw

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