我有一个rdat字段,我必须转换为日期字段,我知道如何在sql中做,但我是DAX的新手,我不知道该怎么做
CONVERT(CHAR(10), DATEADD(d, RDAT_ENTERED +5843, 0), 1)
在Power BI中。我可以在sql端修复它只是引入数据但我仍然想知道它在BI中的外观。
答案 0 :(得分:2)
您的数据似乎使用 SQL SERVER EPOCH来表示日期,因此RDAT_ENTERED + 5843
表示距1/1/1900
确定的天数。您可以使用该信息通过DAX或Power Query将其转换为人工日期。
在Dax或Power Query中创建计算列(非正式地称为“M”)
Power BI和Power Pivot中的DAX
HumanDate = DATE(1900,1,1) + [RDAT_ENTERED] + 5843
Power Query中的M语言
=Date.AddDays(DateTime.FromText("1900-01-01"), [RDAT_ENTERED] + 5843)
如果有帮助,请告诉我。
答案 1 :(得分:0)
我意识到你问题的背景,并认识到@alehandro的excellent回答。但是,一些建议的最佳实践:
DECLARE @EPOCH_RDAT DATE = { d '1916-01-01' };
SELECT DATEADD(DAY, RDAT_ENTERED, @EPOCH_RDAT);