在Power BI中将MongoDB id转换为日期时间



我有一个API,其中包含一个MongoDB ID,不幸的是,当使用API时,您无法在Mongo中将此ID转换为日期时间。

我正试图在Power BI中将其转换为日期时间。我发现了一个JavaScript函数,可以将其转换为

var dateFromObjectId = function (objectId) {
return new Date(parseInt(objectId.substring(0, 8), 16) * 1000);
};

在Power BI中,我已经设法使用使该函数的子字符串部分工作

substring = MID([objectID], 0, 8)

因此,在这种情况下,Mongo ID看起来像这样:

5bec695948cbd00519d0d8ca

子字符串将返回:

5bec6959

JS函数的下一步是将字符串从十六进制解析为十进制,以便将其转换为日期时间。我一直找不到一个有效的方法。我尝试过一些使用自定义函数的解决方案,但它们似乎什么都没用。下面的链接显示了我从哪里获得JS函数和对话计算器:https://steveridout.github.io/mongo-object-time/如果有人能在这方面帮助我们,我们将不胜感激。谢谢

= #datetime(1970,1,1,0,0,0) + #duration(0,0,0,Expression.Evaluate("0x" & Text.Range([_id],0, 8)))
// [_id] is the column containing the mongo_id
// Text.Range --> Gets the first 8 characters
// Expression.Evaluate -> converts from HEX to DEC
// Adds to epoch time

最新更新