在Power BI中将MongoDB id转换为日期时间
我有一个包含MongoDB ID的API,不幸的是,在使用API时,您无法将此ID转换为Mongo中的日期时间 我正在尝试将其转换为Power BI中的日期时间。我找到了一个JavaScript函数,可以将其转换为:在Power BI中将MongoDB id转换为日期时间,mongodb,powerbi,Mongodb,Powerbi,我有一个包含MongoDB ID的API,不幸的是,在使用API时,您无法将此ID转换为Mongo中的日期时间 我正在尝试将其转换为Power BI中的日期时间。我找到了一个JavaScript函数,可以将其转换为: var dateFromObjectId = function (objectId) { return new Date(parseInt(objectId.substring(0, 8), 16) * 1000); }; 在Power BI中,我使用以下方法成功地使此函
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函数和对话计算器:
如果有人能在这方面帮助我们,我们将不胜感激。
谢谢
= #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