2017-10-12 3 views
0

Je veux numéro de semaine en u-sql et que vous voulez convertir en dessous du code en u -sqlComment puis-je convertir Datepart (jour, datediff (jour, 0, date)/7 * 7)/7 + 1 AS WeekNumOverall à U-sql

Datepart(day, datediff(day, 0, Date)/7 * 7)/7 + 1 AS WeekNumOverall, 

comment puis-je faire cela?

+0

Serait-il préférable d'avoir une dimension de date pré-calculée où vous avez simplement regardé cela? Importez-en un depuis votre entrepôt de données favori. – wBob

Répondre

3

Dans U-SQL, vous pouvez utiliser les propriétés et méthodes .NET DateTime. Au lieu de DATEPART vous pouvez utiliser DateTime.DayOfYear (voir DateTime Properties). Quelque chose comme:

SELECT Date.DayOfYear/7 + 1 AS WeekNumOverall FROM 
(VALUES (new DateTime(2017,1,1)) , (new DateTime(2017,3,1)) , (new DateTime(2017,10,12))) AS vt(Date);