PowerBI 秒级实时大屏展示方案 全面助力双十一

  • 2019 年 10 月 31 日
  • 筆記

双十一来了,你准备好了吗?不管你是否准备完毕,我们带来了全网首发的 PowerBI 秒级实时大屏展示方案,你可以直接用来展示双十一的实时状况。

我们一步步来说明这个套件模板教程。

真实效果

功能如下:

  • 全实时展示 双十一 当天秒级实时动态。
  • 全页面刷新。
  • 时间窗口显示此时此刻实时订单流。
  • 趋势曲线显示按照小时分布的销售状态。
  • 地理位置给出了实时销往各地的状况。
  • 渠道与品牌的业务实时数据。

我知道你有很多好奇,我们来慢慢说明。

套件模板教程

这是一个套件,包括:

  • PowerBI 模板文件
  • 配置文件
  • 地理位置信息配置文件

这也是一个模板,包括:

  • 高度推敲的思路与 PowerBI 用法
  • 支持秒级实时分析
  • 超越时间智能。

这更是一个教程,我们将针对此发布一套教程来详细说明其中的细节。

数据模型

我们来看看其结构:

度量值层级

对于度量值的使用:

遵守清晰的逻辑以及设计思想。

秒级时间的处理

RT.KPI.Value.Today.LastHour =  VAR vNow = [RT.DateTime.Now.ForData]  RETURN  CALCULATE(      [RT.KPI.Value.Today] ,      FILTER(          ALL( 'RT.Activity.DateTime'[DateTime] ) ,          vNow - TIME( 1 , 0 , 0 ) <= 'RT.Activity.DateTime'[DateTime] &&          'RT.Activity.DateTime'[DateTime] < vNow      ) ,      REMOVEFILTERS( 'RT.Activity.DateTime' )  )

由于不再有时间智能函数的加持,我们需要坚实的 DAX 基础来处理时间。

活动驱动通用化

双十一,其本质是一个活动。本模板的意义就在于不仅仅适用于双十一,还适用于任何活动。只需要定义:

  • 活动名称
  • 开始日期
  • 结束日期

即可。

因此,本模板就有了非常大的通用性。

大屏展示

双十一活动展示

能用多大,就用多大,来吧。就怕你没有 100 寸的电视。

圣诞节活动展示

你可以观察到:

  • 活动有自己的名称
  • 整个外观实时切换了
  • 左上角时间窗口的粒度是不同的

因此,你每次搞活动都可以用这套方案来展示活动的实时情况

主题实时切换

直接切换主题:

可以控制是否开启实时特性:

这都可以控制,是不是很神奇。

全部基于配置

什么是基于配置?就是不用写 DAX,即使你是小白,也可以用模板,例如:

可以看出全部内容已经配置,这些配置可以在 Excel 中进行,如下:

附赠灵活的地理位置处理

自带地理位置维度模块,全经纬度精准显示。

是不是很精确的感觉。

如果出现不够精确,可以调整配置文件,修订经纬度即可。

Mock

模板的开始使用 Mock 方法论,以及面向接口的思想,我们定义了标准接口,并用 DAX 模拟了所有数据以及效果,这样就摆脱了在设计时就严重依赖数据库,如下:

RT.Mock.Data.Today = // 模拟实时数据  VAR vIDs = SELECTCOLUMNS( GENERATESERIES( 1 , [RT.Settings.Mock.DataVolume] ) , "ID" , [Value] ) -- 生成随机数据  VAR vBrandCount = COUNTROWS( 'RT.Mock.Brand' )  VAR vChannelCount = COUNTROWS( 'RT.Mock.Channel' )  VAR vCityCount = COUNTROWS( 'GEO_City' )  VAR vSinglePriceLow = [RT.Settings.Mock.SinglePrice.Low]  VAR vSinglePriceHigh = [RT.Settings.Mock.SinglePrice.High]  RETURN  ADDCOLUMNS(      vIDs ,      "BrandID" , RANDBETWEEN( 1 , vBrandCount ) , -- 随机品牌      "DateTime" , [RT.DateTime.Today] + TIME( RANDBETWEEN( 0 , 23 ) , RANDBETWEEN( 0 , 59 ) , RANDBETWEEN( 0 , 59 ) ) ,      "LocationID" , RANDBETWEEN( 1 , vCityCount ) ,      "ChannelID" , RANDBETWEEN( 1 , vChannelCount ) ,      "Value" , RANDBETWEEN( vSinglePriceLow , vSinglePriceHigh )  )

Mock 是实现自助商业智能分析师与底层 IT 解除耦合的很有效做法,我们几乎可以通过这种方法论构建各种数据来应对设计。

通过这个课程你将首次在 PowerBI 中了解到如何虚拟出实时数据以及历史数据以及他们之间存在的技巧,并将这些思想和技巧运用到自己的项目中。

测试驱动设计

先测试,从测试来看计算的逻辑正确性,再用于真正的展示。例如:

可以看出核心 KPI 的逻辑在作图前就被完全检查。这里还可以看出一件事:

10.25 日全日的虚拟交易为:43175153

10.24 日全日的虚拟交易为:43210401

非常接近,如何构造这种近乎真实的虚拟数据呢,很神奇吧。

面向接口设计

我们规定了:

  • 历史数据表结构
  • 实时数据表结构

只要有真实的数据源就可以立即切换展示。

有的伙伴问,去哪里找到真实的数据?

你把罗叔的大屏演示给你老板看,他爽了,他一定会让你找到数据源的。

安全性

如果把这个链接给了别人有用吗?

请输入用户名和密码,因此是非常安全的。

简单性

简单到什么程度吗?

把一个文件放在前台妹妹那里即可。需要的时候双击即可。不怕被传给任何人,因为需要登录的。

怎么做到实时的

这里有非常多的技术细节和实践技巧,大家常见的问题,简单回答如下:

  • 需要 实时查询 吗? 不需要。
  • 需要 数据源性能吗? 不需要。
  • 需要 数据库吗? 均可。
  • 需要 PowerBI 高级版吗? 不需要。
  • 免费版 PowerBI 可以吗? 可以。
  • 那需要什么? 需要你赶快买。

在现实中双十一几乎是任何公司非常重视的,而且当时数据量巨大,能做到实时的系统非常罕见,数据都是有延时的,我们特别做了对延时的支持,并以一种亚现实的模式展示,没有任何满意度降低。

总结

从业务效果上看:

  • 直接助力双十一
  • 震撼的大屏展示
  • 秒级真实时

从技术上看:

  • 从时间智能到自己实现全套逻辑,挑战 DAX 深度能力
  • 综合设计
  • 模板
  • 基于配置
  • 地址位置处理
  • 基于测试驱动设计
  • 实时切换主题
  • 满足安全性

总之,近乎完美。

拥有了她,演示给你的老板,如下:

工资不翻倍就准备跳槽吧。

目前开放预定:198元,快点吧,发布就涨价。

没想好,再看看:

这将接入任何活动的实时数据,让你吹出天际,助力老板,很多人已经抢了,罗叔在编制详细教程中…