Forum Discussion

Velocity's avatar
Velocity
Helper III
6 years ago
Solved

Combining two steps

Hi,

 

I am trying to create a calculated column for Week difference but want to restrict upper and lower limits. I have been able to acheive it in two steps. Is it possible to combine these two steps:

Week_Num1 = int((datediff(Master[homeDate], Master[ResponseDate],DAY))/7) + 1
Week_Num = if (Master[Week_Num1] < 0, -1, if (Master[Week_Num1] > 52, 53, Master[Week_Num1]))
 
Thanks
 
  • parry2k's avatar
    parry2k
    6 years ago

    Velocity not sure what you are trying to achieve but you can combine these two DAX expressions into one as below.

     

    Week_Num = 
    VAR __weekNum1 = 
    int(
    (datediff(Master[homeDate], Master[ResponseDate],DAY))/7
    ) + 1
    
    RETURN
    if (
    __weekNum1 < 0, -1, 
    if (
    __weekNum1 > 52, 53, 
    __weekNum1
    )
    )

     

2 Replies

  • Velocity , I did not get it completely. But if you want week vs week comparison , refer my file

    https://www.dropbox.com/s/d9898a48e76wmvl/sales_analytics_weekWise.pbix?dl=0

     

    Like


    This Week = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])))
    Last Week = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])-1))
    Last 12 week Sales = CALCULATE(SUM(Sales[Net Sales]),FILTER(all('Date'),'Date'[Week Rank]>=min('Date'[Week Rank])-12 && 'Date'[Week Rank]<=max('Date'[Week Rank])))

     

    • parry2k's avatar
      parry2k
      Super User

      Velocity not sure what you are trying to achieve but you can combine these two DAX expressions into one as below.

       

      Week_Num = 
      VAR __weekNum1 = 
      int(
      (datediff(Master[homeDate], Master[ResponseDate],DAY))/7
      ) + 1
      
      RETURN
      if (
      __weekNum1 < 0, -1, 
      if (
      __weekNum1 > 52, 53, 
      __weekNum1
      )
      )