Forum Discussion

scott_bab's avatar
scott_bab
Frequent Visitor
7 years ago
Solved

Calculate sales measure

I have an interesting scenario that I have not been able to crack thus far.

 

I have a slicer where I can select a particular store, and I want to be able to view the department sales for the selected store, in addition to the store's district (1 level higher) and division (2 levels higher).

 

Predictably, I have been able to do this for the store. However, I am getting the overall district & division totals displaying in each department line. Any ideas on how to fix this?

 

Below is how the data is set up, with the results I would expect below that.

 

 

 

 

 

 

 

 

 

  • scott_bab 

     

    Hi, try with this measure:

     

    Measure =
    VAR _District =
        SELECTEDVALUE ( Sales[District] )
    VAR _Division =
        SELECTEDVALUE ( Sales[Division] )
    VAR _Context =
        SELECTEDVALUE ( Context[Context Name] )
    RETURN
        SWITCH (
            _Context;
            "Store"; SUM ( Sales[2018 Sales] );
            "District"; CALCULATE (
                SUM ( Sales[2018 Sales] );
                KEEPFILTERS ( VALUES ( Sales[Department] ) );
                FILTER ( ALL ( 'Sales' ); Sales[District] = _District )
            );
            "Division"; CALCULATE (
                SUM ( Sales[2018 Sales] );
                KEEPFILTERS ( VALUES ( Sales[Department] ) );
                FILTER ( ALL ( 'Sales' ); Sales[Division] = _Division )
            )
        )
    

    If doesn't work replace ; with ,

     

    Maybe need to optimize code but i think will work.

     

     

    PD. I forgot to tell you

     

    I create a disconnected table with a column named "Context  with this 3 rows : "Store", "District" and Division" and insert it in Columns section in Matrix)

     

    Regards

     

    Victor

     

3 Replies

  • Vvelarde's avatar
    Vvelarde
    Icon for Community Champion rankCommunity Champion

    scott_bab 

     

    Hi, try with this measure:

     

    Measure =
    VAR _District =
        SELECTEDVALUE ( Sales[District] )
    VAR _Division =
        SELECTEDVALUE ( Sales[Division] )
    VAR _Context =
        SELECTEDVALUE ( Context[Context Name] )
    RETURN
        SWITCH (
            _Context;
            "Store"; SUM ( Sales[2018 Sales] );
            "District"; CALCULATE (
                SUM ( Sales[2018 Sales] );
                KEEPFILTERS ( VALUES ( Sales[Department] ) );
                FILTER ( ALL ( 'Sales' ); Sales[District] = _District )
            );
            "Division"; CALCULATE (
                SUM ( Sales[2018 Sales] );
                KEEPFILTERS ( VALUES ( Sales[Department] ) );
                FILTER ( ALL ( 'Sales' ); Sales[Division] = _Division )
            )
        )
    

    If doesn't work replace ; with ,

     

    Maybe need to optimize code but i think will work.

     

     

    PD. I forgot to tell you

     

    I create a disconnected table with a column named "Context  with this 3 rows : "Store", "District" and Division" and insert it in Columns section in Matrix)

     

    Regards

     

    Victor

     

    • scott_bab's avatar
      scott_bab
      Frequent Visitor

      Thanks Vvelarde . I'm running into some issues with the Context table - it doesn't seem to like that there is not a relationship between that and my Sales table.

      • Vvelarde's avatar
        Vvelarde
        Icon for Community Champion rankCommunity Champion

        scott_bab 

         

        Hi, the error message is before you drag the measure into Values Section in Matrix. After you put the measure in values you shouldn't see the issue.

         

        If you still having the problem let me know to upload a demo file

         

        Regards

         

        Victor