Forum Discussion

tangerinemdr15's avatar
5 years ago
Solved

Deferred Revenue - Help with DAX Please!

Hi! I need to recognize the Charge Amount in Appropriate month evenly throughout the year.

 

Here is an example of the raw data:

RIS & RAL Annual Bill + RIS Monthly   
BL_DTBL_CHRG_AMTMonth Start DateMonth End DateBL_TYP_TXT
01/20/2020100001/01/202001/31/2020Monthly
02/27/2020100002/01/202002/29/2020Monthly
03/31/2020100003/01/202003/31/2020Monthly
04/30/202050004/01/202004/30/2020Monthly
05/28/202050005/01/202005/31/2020Monthly

 

So far I have been able to calculate the red amounts with the following expression:

 JanFebMarAprMay
01/20/202083.3383.3383.3383.3383.33
02/27/2020 166.6783.3383.3383.33
03/31/2020  250.0083.3383.33
04/30/2020   166.6741.67
05/28/2020    208.33
      

RIS Monthly Arrival = sumx(FILTER('RIS & RAL Annual Bill + RIS Monthly', 'RIS & RAL Annual Bill + RIS Monthly'[BL_DT] >= 'RIS & RAL Annual Bill + RIS Monthly'[Month Start Date] && 'RIS & RAL Annual Bill + RIS Monthly'[BL_DT] <= 'RIS & RAL Annual Bill + RIS Monthly'[Month End date] && 'RIS & RAL Annual Bill + RIS Monthly'[BL_TYP_TXT] <> "Annual"), 'RIS & RAL Annual Bill + RIS Monthly'[BL_CHRG_AMT]*(month('RIS & RAL Annual Bill + RIS Monthly'[BL_DT])/12))

 

 

I cant figure out the black values with DAX (the amounts presented are what it should come out to, calculated in excel). 

 

I tried this expression but it comes up blank. I think the issue is the bolded portion: 

RIS Monthly Deferred = sumx(FILTER('RIS & RAL Annual Bill + RIS Monthly', 'RIS & RAL Annual Bill + RIS Monthly'[BL_DT] < Month( 'RIS & RAL Annual Bill + RIS Monthly'[Month Start Date]) && 'RIS & RAL Annual Bill + RIS Monthly'[BL_TYP_TXT] <> "Annual" && YEAR('RIS & RAL Annual Bill + RIS Monthly'[BL_DT])=YEAR('RIS & RAL Annual Bill + RIS Monthly'[Month Start Date])), 'RIS & RAL Annual Bill + RIS Monthly'[BL_CHRG_AMT]*(1/12))
 
Thank you in advance!

 

 

  • tangerinemdr15's avatar
    tangerinemdr15
    5 years ago

    littlemojopuppy 

    Thank you so much for taking the time to help me! With your help, I was able to figure out the calculate function and It was helpful to make that new "Monthly Billing" measure. This is where I landed:

    RIS Monthly Deferred = (TOTALYTD(CALCULATE('RIS & RAL Annual Bill + RIS Monthly'[MonthlyBilling2]/12),PREVIOUSMONTH('RIS & RAL Annual Bill + RIS Monthly'[Month Start Date])))
     
    Thank you so much!

6 Replies

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

    Hi tangerinemdr15 

     

    I think I've got this...this is the kind of thing that makes my former accountant self happy ğŸ™‚

     

    As a check, a created a table with all the amounts you have above...

    The DAX for that table follows...

        SUMMARIZE(
            'Calendar',
            'Calendar'[Year],
            'Calendar'[Month],
            "NewBilling",
            CALCULATE(
                [Billing],
                'Raw Data'[BL_TYP_TXT] = "Monthly"
            ),
            "MonthlyBilling",
            CALCULATE(
                [Billing] / 12,
                'Raw Data'[BL_TYP_TXT] = "Monthly"
            ),
            "ImmediatelyRecognized",
            CALCULATE(
                ([Billing] / 12),
                'Raw Data'[BL_TYP_TXT] = "Monthly"
            ) * 'Calendar'[Month]
        )
    • littlemojopuppy's avatar
      littlemojopuppy
      Icon for Community Champion rankCommunity Champion

      tangerinemdr15 here's your measure.  It assumes you have a date table and it is marked appropriately...

      Billing = SUM('Raw Data'[BL_CHRG_AMT])
      
      Monthly Billing Amount = 
          CALCULATE(
              [Billing] / 12,
              FILTER(
                  'Raw Data',
                  'Raw Data'[BL_TYP_TXT] = "Monthly"
              )
          )

      The measure for [Billing] is also used in the check table above.

      • tangerinemdr15's avatar
        tangerinemdr15
        Icon for Helper I rankHelper I

        littlemojopuppy 

        Thank you so much for taking the time to help me! With your help, I was able to figure out the calculate function and It was helpful to make that new "Monthly Billing" measure. This is where I landed:

        RIS Monthly Deferred = (TOTALYTD(CALCULATE('RIS & RAL Annual Bill + RIS Monthly'[MonthlyBilling2]/12),PREVIOUSMONTH('RIS & RAL Annual Bill + RIS Monthly'[Month Start Date])))
         
        Thank you so much!
    • tangerinemdr15's avatar
      tangerinemdr15
      Icon for Helper I rankHelper I

      Greg_Deckler  

      Hi! the logic for the black amounts is to take 1/12th of the billing charge amount for the remaining months of the year. For example, the charge that came in on 3/31/20 for $1000. $250 of it was recognized in March.  $1,000 * (3/12)= $250. From April through the rest of the year, 1/12th will be recognized each month.

      $1,000 * (1/12) = $83.33

       

      Thank you in advance for taking a look!