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

640?wx_fmt=png


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

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

真实效果

功能如下:

  • 全实时展示 双十一 当天秒级实时动态。

  • 全页面刷新。

  • 时间窗口显示此时此刻实时订单流。

  • 趋势曲线显示按照小时分布的销售状态。

  • 地理位置给出了实时销往各地的状况。

  • 渠道与品牌的业务实时数据。

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

套件模板教程

这是一个套件,包括:

  • PowerBI 模板文件

  • 配置文件

  • 地理位置信息配置文件

这也是一个模板,包括:

  • 高度推敲的思路与 PowerBI 用法

  • 支持秒级实时分析

  • 超越时间智能。

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

数据模型

我们来看看其结构:

640?wx_fmt=png

度量值层级

对于度量值的使用:

640?wx_fmt=png

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

秒级时间的处理

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 基础来处理时间。

活动驱动通用化

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

  • 活动名称

  • 开始日期

  • 结束日期

即可。

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

大屏展示

双十一活动展示

640?wx_fmt=png

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

圣诞节活动展示

640?wx_fmt=png

你可以观察到:

  • 活动有自己的名称

  • 整个外观实时切换了

  • 左上角时间窗口的粒度是不同的

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

主题实时切换

直接切换主题:

640?wx_fmt=png

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

640?wx_fmt=png

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

全部基于配置

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

640?wx_fmt=png

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

640?wx_fmt=png

附赠灵活的地理位置处理

640?wx_fmt=png

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

640?wx_fmt=png

是不是很精确的感觉。

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

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 中了解到如何虚拟出实时数据以及历史数据以及他们之间存在的技巧,并将这些思想和技巧运用到自己的项目中。

测试驱动设计

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

640?wx_fmt=png

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

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

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

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

面向接口设计

我们规定了:

  • 历史数据表结构

  • 实时数据表结构

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

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

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

安全性

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

640?wx_fmt=png

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

简单性

简单到什么程度吗?

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

怎么做到实时的

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

  • 需要 实时查询 吗?

    不需要。

  • 需要 数据源性能吗?

    不需要。

  • 需要 数据库吗?

    均可。

  • 需要 PowerBI 高级版吗?

    不需要。

  • 免费版 PowerBI 可以吗?

    可以。

  • 那需要什么?

    需要你赶快买。

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

总结

从业务效果上看:

  • 直接助力双十一

  • 震撼的大屏展示

  • 秒级真实时

从技术上看:

  • 从时间智能到自己实现全套逻辑,挑战 DAX 深度能力

  • 综合设计

  • 模板

  • 基于配置

  • 地址位置处理

  • 基于测试驱动设计

  • 实时切换主题

  • 满足安全性

总之,近乎完美。

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

640?wx_fmt=png

工资不翻倍就准备跳槽吧。没想好,再看看:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优化 .net core 应用的 dockerfile

优化 .net core 应用的 dockerfileIntro在给 .net core 应用的写 dockerfile 的时候一直有个苦恼&#xff0c;就是如果有很多个项目&#xff0c;在 dockerfile 里写起来就会很繁琐&#xff0c;有很多项目文件要 copy&#xff0c;dockerfile 还不支持直接批量复制项目文件&#…

C# 8 新特性 - 静态本地方法

从C# 8 开始&#xff0c;本地方法就可以是静态的了。 与其他的本地方法不同&#xff0c;静态的本地方法无法捕获任何本地状态量。 直接看例子&#xff1a; 这段代码里有两个本地方法&#xff0c;他们分别对实例的一个字段和方法里的一个本地变量进行了修改操作&#xff0c;也就…

​.NET手撸2048小游戏

前言2048是一款益智小游戏&#xff0c;得益于其规则简单&#xff0c;又和 2的倍数有关&#xff0c;因此广为人知&#xff0c;特别是广受程序员的喜爱。本文将再次使用我自制的“准游戏引擎” FlysEngine&#xff0c;从空白窗口开始&#xff0c;演示如何“手撸” 2048小游戏&…

自行实现高性能MVC

wcf虽然功能多、扩展性强但是也面临配置忒多&#xff0c;而且restful的功能相当怪异&#xff0c;并且目前没法移植。asp.net core虽然支持webapi&#xff0c;但是功能也相对繁多、配置复杂。就没有一个能让码农们安安心心的写webapi&#xff0c;无需考虑性能、配置、甚至根据问…

caffe matio问题

http://blog.csdn.net/houqiqi/article/details/46469981 注&#xff1a;如果指令行模式实在解决不了/lib/libcaffe.so: undefined reference to Mat_VarReadDataLinear问题&#xff0c;可以尝试在QT下进行训练和测试。 1&#xff0c; 下载matio(http://sourceforge.NET/pro…

技术管理者怎样跳出“泥潭”

近几年面试了不少新人&#xff0c;当问到职业规划时&#xff0c;大多都会说先积累技术&#xff0c;然后往架构师的方向发展。这可能是技术人的一个特质&#xff0c;喜欢跟机器相处&#xff0c;沉浸在代码之中&#xff0c;而不喜欢跟人打交道。现实的情况是&#xff0c;一些中小…

你或许以为你不需要领域驱动设计

作者&#xff1a;邹溪源&#xff0c;长沙资深互联网从业者&#xff0c;架构师社区合伙人&#xff01;一犹记得刚刚参加工作时&#xff0c;是地图厂商四维图新集团旗下的一家子公司&#xff0c;主要从事规划测绘相关软件研发的公司。当时我的项目是为勘测设计院提供相对应的应用…

redis为什么这么火该怎么用

最近一些人在介绍方案时&#xff0c;经常会出现redis这个词&#xff0c;于是很多小伙伴百度完redis也就觉得它是一个缓存&#xff0c;然后项目里面把数据丢进去完事&#xff0c;甚至有例如将实体属性拆分塞进redis hash里面的奇怪用法等等&#xff01;原因是什么呢&#xff1f;…

.Net Core实现健康检查

ASP.NET Core 提供运行状况检查中间件和库&#xff0c;以用于报告应用基础结构组件的运行状况。运行状况探测可以由容器业务流程协调程和负载均衡器用于检查应用的状态。例如&#xff0c;容器业务流程协调程序可以通过停止滚动部署或重新启动容器来响应失败的运行状况检查。负载…

微软宣布加入 OpenJDK,看网上各派的热闹

微软宣布加入 OpenJDK 项目&#xff08;https://www.oschina.net/news/111036/microsoft-to-participate-in-openidk&#xff09;&#xff0c;这两天在微信公众号里面有几种论调&#xff1a;上面这些都是Javaer的观点&#xff0c;在CSharper 对这件事情的反应更奇怪了&#xff…

这6点解释了罗永浩为什么要卖艺

01是的&#xff0c;我们的‘老赖又上热搜了。&#xff08;ps:还是传统的语法&#xff0c;换了个人而已&#xff0c;味道有点改变&#xff09;11 月 3 日下午&#xff0c;罗永浩因锤子科技的 375 万欠款被江苏丹阳法院限制高消费&#xff0c;他不得乘坐飞机头等舱、软卧、高铁等…

微软发布研究报告:企业数据管理普遍混乱,揭秘大数据分析趋势以及PowerBI的崛起机遇...

本文非常重要&#xff0c;忽略者责任自负。我们时常看到很多新闻说企业的数据分析或大数据如何如何高大上&#xff0c;但你自己感觉你自己所处的环境呢&#xff1f;很多小伙伴在群里真切的抱怨到&#xff1a;感觉是一坨祥云。为什么你看到的和你感受到的有如此巨大的反差&#…

Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装

Magicodes.Pay&#xff0c;打造开箱即用的统一支付库&#xff0c;已提供ABP模块封装简介Magicodes.Pay&#xff0c;是心莱科技团队提供的统一支付库&#xff0c;相关库均使用.NET标准库编写&#xff0c;支持.NET Framework以及.NET Core。目前已提供Abp模块的封装&#xff0c;支…

在.NET Core 3.0中发布单个Exe文件(PublishSingleFile)

假设我有一个简单的“ Hello World”控制台应用程序&#xff0c;我想发送给朋友来运行。朋友没有安装.NET Core&#xff0c;所以我知道我需要为他构建一个独立的应用程序。很简单&#xff0c;我只需在项目目录中运行以下命令&#xff1a;dotnet publish -r win-x64 -c Release …

python import 问题

https://my.oschina.net/leejun2005/blog/109679 python中&#xff0c;每个py文件被称之为模块&#xff0c;每个具有__init__.py文件的目录被称为包。只要模块或者包所在的目录在sys.path中&#xff0c;就可以使用import 模块或import 包来使用。 如果想使用非当前模块中的…

.NET如何写正确的“抽奖”——数组乱序算法

.NET如何写正确的“抽奖”——数组乱序算法数组乱序算法常用于抽奖等生成临时数据操作。就拿年会抽奖来说&#xff0c;如果你的算法有任何瑕疵&#xff0c;造成了任何不公平&#xff0c;在年会现场 code review时&#xff0c;搞不好不能活着走出去。这个算法听起来很简单&#…

maximum mean discrepancy

http://blog.csdn.net/a1154761720/article/details/51516273 MMD&#xff1a;maximum mean discrepancy。最大平均差异。最先提出的时候用于双样本的检测&#xff08;two-sample test&#xff09;问题&#xff0c;用于判断两个分布p和q是否相同。它的基本假设是&#xff1a;如…

FineUICore基础版部署到docker实战

文 | 蒙古海军司令 合作者FineUI用了好多年&#xff0c;最近出了FineUICore版本&#xff0c;一直没时间是试一下docker&#xff0c;前几天买了一个腾讯云服务器&#xff0c;1核2g&#xff0c;装了centos7.6&#xff0c;开始的时候主要是整个个人博客&#xff0c;在腾讯云安装了…

2019全球Microsoft 365开发者训练营(北京站)

Microsoft365介绍&#xff1a;Microsoft365不仅仅是Office 365&#xff0c;它还包括Windows 10操作系统&#xff0c;以及诸多企业级移动和安全应用。它是一套可用于从小型到集团化企业的办公、协作、沟通的企业信息化解决方案。在2017年7月11日举行的Inspire年度合作伙伴大会上…

caffe/common.cu error: function atomicadd has already been defined

http://blog.csdn.NET/houqiqi/article/details/46469981 1, 下载matio(http://sourceforge.NET/projects/matio/) 2,&#xff0c;安装 $ tar zxf matio-X.Y.Z.tar.gz $ cd matio-X.Y.Z $ ./configure $ make $ make check $ make install sudo ldconfig (如果不执行&#x…