前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【PowerBI技巧】如何显示数据更新时间

【PowerBI技巧】如何显示数据更新时间

作者头像
陈学谦
发布2020-04-14 15:27:05
2.6K0
发布2020-04-14 15:27:05
举报
文章被收录于专栏:学谦数据运营学谦数据运营

在某些场景中,我们需要告诉用户,报表中的数据是截止到昨天?截止到今天上午?2小时之前?还是10分钟以前的,这就需要在报表中加入如下的内容:

今天就和大家来讲一下如何实现以上的功能。

我们很容易想到,在DAX语言中有一个NOW函数,用来获取当前的日期和时间:

我们来测试一下,输入公式,得到数据:

用卡片图呈现出来:

点击刷新,可以看到每次刷新数据,都会更新一个最新的时间。

将报表发布到云端,再来查看一下。

没有问题。

但是!如果到云端进行刷新,就会发现时间变为了8点多,跟发布的时间很明显是不一致的,为什么会这样呢?

因为powerbi本地刷新和云端刷新是不同的,本地刷新,NOW返回的是当前的系统时间,也就是UTC/GMT+08:00时间,而云端刷新的时间是按照UTC时间来的,所以两者差了8个小时。

所以如果想在云端刷新时显示正确的当地时间,应当在原来的时间上+8小时,但是这样一来,又会出问题,那就是如果修改本地文件并再次发布时,时间就会比当前早8个小时。

也就是说,使用NOW无法同时满足本地发布和云端刷新的需要。

那应当怎么办呢?

这时候我们该用到UTCNOW函数了,顾名思义,这表示的是UTC时间的当前时间,这样只要写出如下的表达式,就能正确得到本地的准确时间了:

当前时间 = UTCNOW()+"08:00:00"

再次发布到云端,刷新看一下:

这样,我们就可以同时在本地和云端分别刷新都得到正确的刷新时间了。

你学会了吗?

这里我们需要注意,以上两张gif中,点击网页端报表页面的刷新按钮,仅仅是将数据刷新到数据源中的最新,而不会真的更新数据,因为一旦报表发布后,只要不在数据源中点击立即刷新,报表中的数据是不会变的。

但,事实真的是这样的吗?且看下图:

我们可以看到,在这个gif中,我们点击报表页面的刷新按钮,当前时间是一直在变的,一直显示当前的本地时间,这个是怎么做到的呢?

还有另外一个问题,就是我们事先知道当地的时区,所以才会在UTC上+8小时,如果恰好不知道时区呢?有没有不需要知道时区就通用的公式呢?办法肯定是有的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档