Forum Discussion

bcharlto's avatar
bcharlto
Frequent Visitor
10 years ago
Solved

Rolling Regular Price Calculations

I am hitting RAM limitations when running a calculated DAX column on 92 million rows. The calculation works on smaller amounts of data. Any ideas on how to convert this to SQL? I can calculate when loading the data from SQL instead.

 

Reg Price Column = CALCULATE (MAX ( 'CBG POS_Detail_TEMP'[Avg Price Column] ),FILTER ('CBG POS_Detail_TEMP','CBG POS_Detail_TEMP'[PRODUCT_NBR_RETAILER] = EARLIER ( 'CBG POS_Detail_TEMP'[PRODUCT_NBR_RETAILER] ) && 'CBG POS_Detail_TEMP'[STORE_NUMBER] = EARLIER ( 'CBG POS_Detail_TEMP'[STORE_NUMBER] )), DATESINPERIOD ( 'CBG POS_Detail_TEMP'[WEEK_END_DATE], LASTDATE ( 'CBG POS_Detail_TEMP'[WEEK_END_DATE] ), -84, DAY ))

  • Hi bcharlto,

     

    You can modify the T-SQL query like that to return "Reg Price Column":

     

    select *
    , 
    (select max([Avg Price Column]) from  CBG_POS_Detail_TEMP b 
    where  b.PRODUCT_NBR_PETAILER=a.PRODUCT_NBR_PETAILER and b.STORE_NUMBER=a.STORE_NUMBER and b.WEEK_END_DATE>=DATEADD(DAY,-84,a.WEEK_END_DATE) and b.WEEK_END_DATE<=a.WEEK_END_DATE) c
    from CBG_POS_Detail_TEMP a

     

     

     

    Best Regards,

    Qiuyun Yu

3 Replies

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

    Hi bcharlto,

     

    You can modify the T-SQL query like that to return "Reg Price Column":

     

    select *
    , 
    (select max([Avg Price Column]) from  CBG_POS_Detail_TEMP b 
    where  b.PRODUCT_NBR_PETAILER=a.PRODUCT_NBR_PETAILER and b.STORE_NUMBER=a.STORE_NUMBER and b.WEEK_END_DATE>=DATEADD(DAY,-84,a.WEEK_END_DATE) and b.WEEK_END_DATE<=a.WEEK_END_DATE) c
    from CBG_POS_Detail_TEMP a

     

     

     

    Best Regards,

    Qiuyun Yu

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

    Hi bcharlto,

     

    The DAX you mentioned need to be evaluate in its context. It would be better if you could share some sample data and expected results for our analysis.

     

    Besides, instead of connect to SQL Server in Import mode, please try to connect to it in DirectQuery mode and convert the calculated column DAX to a measure.

     

    Best Regards,
    Qiuyun Yu