Method used is Dense_Rank function and PARTITION with Lookup:
Dense_Rank:
This gives a ranked number for each order date by the customer value to know what orders came first and last
{PARTITION [Customer Name]: { ORDERBY [Order Date] ASC: RANK_DENSE()}}
^ Column labeled as Order_Rank_Customer
Partition/Lookup:
This uses the Dense_Rank as a reference to know which dates by customer were first/last. This brings back the previous order of the specific customer to generate a column I labeled "Previous Order Date"
{ PARTITION [Customer Name]: { ORDERBY [Order_Rank_Customer] DESC: LOOKUP([Order Date],1)}}
Days Since Last Order:
This is a simple DATEDIFF with a ABS (Absolute value) since it generates a negative number
ABS(DATEDIFF('day',[Order Date],[Last Re-Order Date Customer]))