Forum Discussion

tmears's avatar
tmears
Icon for Helper III rankHelper III
7 years ago
Solved

need some help on a calculated column between 2 Seperate tables which have no direct relationship

Hi

Wonder if any one out there could help me.....  I'm trying to perform a calculation over two unrelated tables, which are connected through a third table

 

Table 1 has individual transaction rows with a indivdual sales Column

Table 2 has a unique identifier of Stock Code

Table three has sales targets against Stock Codes

 

This is the relationships

Bascailly merge 1 has indvidual lines with a profit figure, however i would like to create a calcuated column in the targets table which is a sum of the profit figure in merge 1 but based upon date and nominal code .

This is what i would like the targets table to look like, i am just missing the final colmun

 

i have got

Amount by Revenue (sum) = CALCULATE(SUM(Merge1[Profit]),RELATEDTABLE('Table11'))
 
But obviosuly doesn take into consideration dates etc
 
Any help would be great,
  • Hi tmears ,

    If I havne't misunderstood your requirement, you want to add the sum of 'sales table'[Profit] to target table based on the current month and nominal. For example, the following item:

    You want to get the sum of 'sales table'[Profit] in whole 2019 May, and the nominal is 4001.

    In this scenario, we can use the following DAx query:

    Amount by Revenue (sum) =
    CALCULATE (
        SUM ( 'sales table'[Profit] ),
        FILTER (
            ALL ( 'sales table' ),
            'sales table'[DocumentHeaders.Created].[Month]
                = EARLIER ( 'target table'[Date].[Month] )
                && 'sales table'[Full Nominal List] = EARLIER ( 'target table'[Nominal] )
                && 'sales table'[DocumentHeaders.Created].[Year]
                    = EARLIER ( 'target table'[Date].[Year] )
        )
    )

    The result will like below:

    Best Regards,

    Teige

3 Replies

  • TeigeGao's avatar
    TeigeGao
    Icon for Solution Sage rankSolution Sage

    Hi tmears ,

    Could you please share the sample data to us for analysis? By the way, if there is no relationship between these two tables, how will the SUM() work on, the date? Based on your description, it looks like that these two tables have a many to many relationship.

    Best Regards,

    Teige

    • tmears's avatar
      tmears
      Icon for Helper III rankHelper III

      TeigeGao  Please find enclosed a sample PBIX File.

       

      Bascially i am trying to add a calculated column in the target table of the SUM by month of the profit column in the Sales Table.Link to Sample PBIX

       

      Many thanks

      T

      • TeigeGao's avatar
        TeigeGao
        Icon for Solution Sage rankSolution Sage

        Hi tmears ,

        If I havne't misunderstood your requirement, you want to add the sum of 'sales table'[Profit] to target table based on the current month and nominal. For example, the following item:

        You want to get the sum of 'sales table'[Profit] in whole 2019 May, and the nominal is 4001.

        In this scenario, we can use the following DAx query:

        Amount by Revenue (sum) =
        CALCULATE (
            SUM ( 'sales table'[Profit] ),
            FILTER (
                ALL ( 'sales table' ),
                'sales table'[DocumentHeaders.Created].[Month]
                    = EARLIER ( 'target table'[Date].[Month] )
                    && 'sales table'[Full Nominal List] = EARLIER ( 'target table'[Nominal] )
                    && 'sales table'[DocumentHeaders.Created].[Year]
                        = EARLIER ( 'target table'[Date].[Year] )
            )
        )

        The result will like below:

        Best Regards,

        Teige