​不知日常工作中,是否有人跟小悦一样,遇到过需要将时间筛选细化至时分的问题,例如,货运/快递行业,需要掌握时点的发运信息,如:2019/6/1 13:40:00到2019/6/3 18:30:00,以了解时点的发运高峰等信息。鉴于Power BI目前大致的切片器都仅只显示日期的筛选,小悦这次为大家分享两种解决方法。

01

第一种,DAX写出时间区域

在这种方法中,我们需要用DAX分别生成开始时间(日期+时点)和结束时间(日期+时点),以使用它来与我们的业务日期(日期/时点)进行对比。

首先开始时间表和结束时间表,分别由日期表和不同的小时表(开始和结束)和分钟表(开始和结束)内的数据进行拼结,我们先随机生成开始的小时和分钟数,公式如下:

小时(开始)=GENERATESERIES(0,23,1)

分钟(开始)= GENERATESERIES(0,59,1)

以同样的方法来生成结束的小时和分钟表。

然后,我们以业务表的开始日期和结束日期为坐标,生成一个日期表(开始),公式如下:

日期表(开始)=CALENDAR(MIN(‘业务表’[业务日期]),MAX(‘业务表’[业务日期]))

并且创建一列,将它转化为文本列,如果有需要,可以用YEAR,MONTH等函数取出年份,月份等信息。

再以同样的方式来创建日期表(结束)。

当表格都创建完成后,现在让我们来分别用(开始)的表格们创建完整的日期时间计算字符吧;

开始日期= MIN('日期表 开始'[日期文本])&" "&FORMAT(TIME('时 开始'[开始时值],'分 开始'[开始分值],0),"HH:mm:SS")

结束日期用同样的方式,将结束表格中的日期与时间作文本拼接。

接下来,我们回到主界面,在画布中拖拉生成切片器,这里,要分别用(开始)表格和(结束)表格生成两个类型切片器,首先,我们来看开始时间的切片器。

我们先将开始日期表的[DATE]拉入切片器字段,因为我们不是在这里来筛选日期区间,所以选择“之后”这种单日期选择模式,再继续加入两个切片器,将时(开始)表中的小时值和分(开始)表中的分值拉入字段内;最后开成这样的切片界面。

在完成开始时间的切片器制作后,请继续以同样的方式,完成结束时间的切片器制作。

当开始时间和结束时间的切片器完成后,我们就可以来创建计算度量值了,比如,我们想对时间区域内的订单数进行计数,以确定在具体的多少小时内,各车队分别完成了多少单,可以完成如下计算公式:

订单数 = CALCULATE(COUNTROWS('DM_T_FYD'),FILTER('DM_T_FYD',FORMAT('DM_T_FYD'[出发录入时间],"YYYY/MM/DD HH:mm:SS")>='日期表 开始'[开始时间]&&FORMAT('DM_T_FYD'[出发录入时间],"YYYY/MM/DD HH:mm:SS")<='日期表 结束'[结束时间]))

因为我们的日期表(开始/结束)中的[开始时间]和[结束时间]是文本拼接,它的数据类型为文本,所以请注意,在用业务表中定义的业务计算时间来与之对比时,一定事先进行格式的转化,将其转化为文本再进行对比。在筛选器中,我们将出发日期在开始时间和结束时间之间的数据行筛选出来,再进行计数运算。

最后,得到我们需要的值,在切片器中,可以任意填入开始/结束日期,以及与之对应的时点。

而为了验证切片器的时间设置,与日期表的开始时间/结束时间,确实一致,我们可以拖放两个卡片图来进行确定。在日常操作中,这并非必要步骤。

关于用DAX解决时点粒度的时间切片问题,以上便是所有内容了。

现在,让我们来看下;

02

第二种方法:Time Brush Slicer

我们先从市场导入Time Brush,并在可视化面板中选择它,如果我们对这个对象并不熟悉,我们可以在示例中先来了解它。

示例文件中,你会发现以下提示

1. 在时间字段中,最好不要用时间层次结构,而是使用日期时间的时间戳。就这意味着,在拖放好时间字段后,需要显式取消选择时间层次。

2. 预先通过时间戳生成自己所需要时间粒度(分,时,日,周),Time Brush本身无法完成聚合。

3. 必须在值字段中添加一列数值列(或计算数值列)以便得到一个可选择的时间区间图。

4. 通过它来过滤其它可视化对象,但是一定要注意,是通过哪个来过滤哪个对象,不要出现相互过滤的情况。

5. 默认情况下,如果另一个可视化对象对Time Brush形成过滤交互,那么它也会清除掉Time Brush所选择的时间区域。

当看完这些提示,让我们来做一次总结,Time Brush其实作为一个可视化对象,通过交互作用,对其它可视化对象起到时间粒度的过滤作用,所以,我们首先需要将放置其字段面板中的时间,进行时间粒度的细化(时,分),然后,需要在值字段中,拉放一个数值字段,最后,在需要受时间切片器影响,将时间细化到(时,分)的可视化对象,在选择Time Brush的情况下,将交互模式调整到过滤,注意不要出现相互过滤。操作如下:

首先,我们选择一个时间切片器,并将我们的业务日期拖放进字段。接下来,我们选择Time Brush,同样,将业务日期(带时点)拖放至“Date”,并拖放一个数值列进“With Values”.因为我们并不在意这个数值,所以随意拖放订单进行计数。

完成后,会生成如下图所示的可视化对象。在这里,时间切片(日期)对它进行影响,它仅仅显示我们日期所选区间内的日期/时间区间轴,但是粒度却会细化至我们拖放进去的“业务时间”同样的粒度。

当我们将鼠标悬停在创建的Time Brush对象上时,会发现会出现一个黑十字图标,这里,我们通过拖拉,来在该时间区间内,选择我们具体所需要时点区间。选择好的时间区间,会形成一片阴影面积,就便是我们在具体日期的时间区间内,所具体选择的时点区域。

最后,我们再创建一个车队的订单计数表格。然后记得通过交互设计,来选择谁对谁进行筛选。

完成以上步骤后,就可以通过选择不同时点区域,来对表格的统计时点粒度进行控制。

以上,便是第二种方式的分享,希望在工作中遇到此问题的小伙伴,能够有所收获,从而解决自己的问题。也希望,如果有了解其它方法的小伙伴,在留言中与我们共享知识哦。

技术交流

欢迎朋友们下方留言交流

切片器可以设置日期格式?_如何分秒必争--浅淡时间切片器相关推荐

  1. 切片器可以设置日期格式?_用Excel切片器为你的数据报告增加交互功能,很简单!...

    关注回归线  Excel变简单 从Excel 2013开始,在"插入"菜单中,出现了一组工具:筛选器,其中有两个工具:切片器和日程表 这两个工具可以让我们更加直观的为Excel数据 ...

  2. 切片器可以设置日期格式?_数据透视表的切片器(与图表或者透视表进行无缝连接)[简单]...

    今天这一章源于一个网友的提问,我们怎么样能够做到切片器如下面这个样子, 课件下方领取. 如果搭配图表的话: 当你选择月份的时候,颜色都是无缝连接的,像是浑然一体的. 通常情况下,我们做出来的切片器搭配 ...

  3. 切片器可以设置日期格式?_Power BI 中的切片器

    何时使用切片器 在要完成以下操作时,切片器非常有用: 在报表画布上显示常用或重要的筛选器,用以简化访问. 更轻松地查看当前筛选的状态,而无需打开下拉列表. 按数据表中不需要的和隐藏的列进行筛选. 通过 ...

  4. 切片器可以设置日期格式?_Excel切片器,原来有这么多厉害的用法

    切片器怎么用,今天与大家分享相关用法. 一.切片器的基本用法 1.切片器的启用 切片器的开启主要有两种方法: 第一种:转换智能表 按Ctrl+A选中表格,按Ctrl+T转换成智能表格,然后点击设计-- ...

  5. 切片器可以设置日期格式?_Excel中如何使用切片器,这个太高大上了

    如果这篇文章正好能够帮助你,而你又想购买书籍等系统的学习办公软件,那么可以购买作者推荐的书籍哦,让作者赚几毛钱的佣金,这也是作者能够持续更新的动力所在,感谢! Excel中的切片器功能是一个十分有用的 ...

  6. 切片器可以设置日期格式?_Excel智能表格——套用表格格式,“一键变身”

    大家好,我是执着于研究Office小技巧的Angie-- Excel表格堪称职场达人必做项,为了追求美观可视化,每次都要手动操作对表格边框.单元格填充.字体大小进行设置,重点是每次自定义设置完,不仅没 ...

  7. asp.net 2.0 中GridView里设置日期格式

    在asp.net 1.0 中的datagrid 中 设置日期字段格式时用 DataFormatString="{0:yyyy-MM-dd}"即可.    在gridview 中设置 ...

  8. PL/SQL Developer设置日期格式

    PL/SQL Developer中设置日期格式的方法 在Tools –> Preferences –> User Interface –> Date/Time 中设置日期格式 如下图 ...

  9. wps斜杠日期格式_在WPS表格中轻松统一日期格式

    平常办公中经常需要收集汇总下级各部门上报的数据表格.由于各部门输入人员并没有按统一标准格式输入日期,汇总数据之后往往会发现汇总数据中的日期有很多种格式.除了2009-2-3.1978年5月6日等标准格 ...

  10. SimpleDateFormat df = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);//设置日期格式

    java日期格式大全 format SimpleDateFormat(转) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH ...

最新文章

  1. SSH与VMware的Linux虚拟机链接
  2. 本周技术主题-----.net中的资源文件
  3. 分布式 Socket 通信
  4. HDU 1874 畅通工程续
  5. 惊!Kubernetes 将弃用 Docker,开发者们怎么办?
  6. Android PreferenceActivity 使用
  7. 中剪取一种颜色的板块_不知道UI设计中APP界面版式如何排版?来看这个!
  8. AWS re:Invent大会回顾
  9. IMAP与POP3的比较
  10. 倒数第N个字符串 (15 分)
  11. 虚拟机(VMware Workstation)的使用方法(转)
  12. js基础-13-常见DOM操作
  13. Capture Allegro走线Option详细介绍图文教程
  14. 移动跨平台框架ReactNative文本组件Text【06】
  15. 【操作系统】 2.2 调度概念以及调度算法
  16. java 返回指定月份的最后一天的59分59秒
  17. win10计算机禁用用户账户控制,win10系统在关闭了用户账户控制的情况下无法打开... 的解决方法...
  18. 线上生成电子签名具体方法
  19. DNS域名解析中A、AAAA、CNAME、MX、NS、TXT、SRV、SOA、PTR各项记录的作用
  20. Scratch(五十一):端午节抛粽子

热门文章

  1. Cygwin使用之神器apt-cyg安装与使用
  2. python中e怎么计算_蒙特卡洛法计算自然常数e——python编程及可视化
  3. Activities介绍
  4. 什么是抓包 为什么要抓包
  5. 韩国服务器搭建网站慢怎么办,如何提升韩国服务器访问速度?
  6. php 下载函数太慢,php的fread函数的一个巨大的坑
  7. 「CodePlus 2017 11 月赛」大吉大利,晚上吃鸡!
  8. maxima 代数方程求解
  9. lisp 左手钢筋_左手键配置程序
  10. 树莓派自动连接WiFi