当前位置: 首页 > 知识库问答 >
问题:

Power BI-来自Azure Cosmos DB的桌面日期时间

岑明辉
2023-03-14

我使用的是通过Azure Cosmos. NET SDK填充的Azure Cosmos DB。根据留档,DateTimes应以ISO_8601格式(https://docs.microsoft.com/en-us/azure/cosmos-db/working-with-dates)存储为序列化字符串。当我在Azure门户或Azure存储资源管理器应用程序中查看我的记录时,情况似乎就是这样。

您可以看到我的开始时间和结束时间属性以及时间戳的格式为“2019-07-15T16:24:51.392Z”

当我将数据导入Power BI Desktop时,该值显示为一些奇怪的字符串/数字。例如

00636988010188048801

我想也许是自1970年1月1日以来的毫秒数,但事实并非如此。有没有人知道如何正确获取导入到 Power BI 中的日期时间,或者如何将该值转换为日期时间?尝试仅将数据类型设置为任何各种日期时间选项都会导致错误。

高级编辑器如下所示:

let
    Source = DocumentDB.Contents("https://myurl.documents.azure.com:443/"),
    TablesDB = Source{[id="TablesDB"]}[Collections],
    TablesDB_InstanceData = TablesDB{[db_id="TablesDB",id="InstanceData"]}[Documents],
    #"Expanded Document" = Table.ExpandRecordColumn(TablesDB_InstanceData, "Document", {"id", "RunId", "InstanceId", "StartTime", "EndTime", "MessagesProcessed", "IsCompareInstance", "_ts"}, {"id", "RunId", "InstanceId", "StartTime", "EndTime", "MessagesProcessed", "IsCompareInstance", "_ts"}),
    #"Expanded RunId" = Table.ExpandRecordColumn(#"Expanded Document", "RunId", {"$v"}, {"$v"}),
    #"Expanded InstanceId" = Table.ExpandRecordColumn(#"Expanded RunId", "InstanceId", {"$v"}, {"$v.1"}),
    #"Expanded StartTime" = Table.ExpandRecordColumn(#"Expanded InstanceId", "StartTime", {"$v"}, {"$v.2"}),
    #"Expanded EndTime" = Table.ExpandRecordColumn(#"Expanded StartTime", "EndTime", {"$v"}, {"$v.3"}),
    #"Expanded MessagesProcessed" = Table.ExpandRecordColumn(#"Expanded EndTime", "MessagesProcessed", {"$v"}, {"$v.4"}),
    #"Expanded IsCompareInstance" = Table.ExpandRecordColumn(#"Expanded MessagesProcessed", "IsCompareInstance", {"$v"}, {"$v.5"})
in
    #"Expanded IsCompareInstance"

共有1个答案

岳亮
2023-03-14

当我将此问题作为问题发布到Power BI社区时,那里有人发布了处理此问题的方法

let

ConvertTimestamp = (ts) => #datetime(1, 1, 1, 0, 0, 0) + #duration(0, 0, 0, ts / 10000000)

in

ConvertTimestamp(635912639960000000)
 类似资料:
  • 问题内容: 我需要在Mysql中进行日期比较而不考虑时间成分,即我需要将“ 2008-11-05 14:30:00”转换为“ 2008-11-05” 目前我正在这样做: 有适当的方法吗? 问题答案: 是的,使用日期功能:

  • 我有一个java应用程序,我希望时间以UTC为单位。目前,该代码混合使用了和。为了获得UTC时间,我之前的程序员使用: 截止日期: 对于时间戳: 然而,我自己用这段代码运行了多个测试,这两行都返回当前日期/时间(在我当前的时区)。从我读到的所有信息来看,日期/时间戳似乎没有区域偏移值,但我找不到具体的说明。 无论如何,是否有将timeZone(UTC)保留在Date或Timestamp对象中,或者

  • 问题内容: 我仅使用DATETIME跟踪表中每周发生的定期事件。我只关心时间和星期几。 我需要能够将设置的DATETIME转换为当前或即将到来的未来时间。 IE如何将使用当前日期存储的日期转换为下一个出现的日期?即下个星期五的12:00:00左右,这样我就可以按日期订购活动了? 或者,我可以将时间和星期几分别存储为数字0-6。 更新: 从欧文(Erwin),我得到了类似的东西: 除了我得到的第一个

  • 问题内容: 我有一个ID为,状态和员工日期范围的数据集。 下面给出的输入数据集是一名员工的详细信息。 记录中的日期范围是连续的(按确切顺序),因此第二行的开始日期将是第一行的结束日期的下一个日期。 如果员工连续休假不同的月份,则该表将存储日期范围不同的信息。 例如:在输入集中,员工已从‘16 -10-2016’休病假到‘31 -12-2016’,并在‘1-1-2017’重新加入。 因此,该项目有3

  • 快速介绍(可以跳过):嗨,有很多关于这个主题的问题和答案,但是有时候解决方案很简单,你甚至都没想过,因为我已经浪费了很多时间,所以我想发布一个对所有答案的补充。 问题:您有一个JSON REST服务,它处理POST请求以保存JSON对象,但该对象包含Genson未开箱即用解析的Date字段。 Java对象: 球衣的其余服务: 使用jQuery的javascript客户端:

  • 问题内容: 我有一个脚本,需要在脚本的不同行执行以下命令: 在我的陈述中,我有以下内容: 我收到以下错误: 如果我将语句的顺序更改为: 我收到以下错误: 如果我再次将语句更改为: 我收到以下错误: 这是怎么回事,我怎么都可以工作? 问题答案: 您的麻烦是,您有一些代码希望对 模块 进行引用,而其他代码希望对类进行引用 。 显然,不能两者兼有。 当您这样做时: 您首先要设置为对该类的引用,然后立即将