It looks correct, although you can simplify it removing the intersect
UniqueCount([user_id]) OVER (LastPeriods(30,[Date]))
If this is not what you wanted, can you show a sample of the data, current and expected result?