在指标监控的第一部分文章中,我们已经讲了,如何用DAX去查询一段周期内连续下降或者上升指标。

需要复习的同学可以点击下方链接:

https://www.cnblogs.com/simone331/p/17730677.html

根据学友上篇文章的反馈,今天,我们来拓展学 习一下,如何计算一个周期内(非连续),下降或上升天数统计,以及展示他们的明细日期。

学会第二部分内容,我们又可以进一步丰富我们的指标监控看板了。

我们先来看一下成品的效果。

一:数据源准备及建立基础度量值

还是用我们,第一部分案例用的数据源。

建立基础度量值,产品销量和产品销量日环比度量值,具体代码如下

产品销量 = CALCULATE(SUM('数据源'[销量]))
产品销量日环比 =
VAR T1 = CALCULATE([产品销量],DATEADD('日期表'[Date],-1,DAY))
RETURN DIVIDE([产品销量]-T1,T1)

二:建立指标度量值

2.1周期N天_下降天数的度量值

产品销量_周期N天_下降天数 =
VAR N='参数'[参数_值] ///控制天数,可以是一个固定的值,也可以是一个字段参数,动态的值
VAR date_table =
SUMMARIZE
(FILTER('日期表','日期表'[Date]>=MAX('数据源'[日期])-N+1
&&'日期表'[Date]<=MAX('数据源'[日期])),
'日期表'[Date])
VAR sales_table =
ADDCOLUMNS(date_table,"产品日环比",[产品销量日环比])
RETURN COUNTROWS(FILTER(sales_table,[产品销量日环比]<0))

代码解释:代码的前半段,与我们第一部分案例代码一致,就不重复讲解了,有需要的朋友,可以去第一篇案例查看对应代码解释,不同的点在于,我们这段代码返回的值是

RETURN  COUNTROWS(FILTER(sales_table,[产品销量日环比]<0))

这里怎么去理解呢?

我们的sales_table 是由N天日期与销量日环比组成的虚拟表,这里存储了我们所有下降日期及日环比指标,我们通过FILTER(sales_table,[产品销量日环比]<0),把指标下降的日期的行筛选了出来。

然后通过COUNTROWS去对行进行计数,那么将返回一个值,这个值就是销量日环比小于0的天数,即下降的天数。

这里的N是一个变量。如果我们的参数设置为30天,那么就会返回我们30天内所有的下降天数。

2.2 周期N天_下降日期明细

产品销量_周期N天_下降日期明细 =
VAR N='参数'[参数_值] ///控制天数,可以是一个固定的值,也可以是一个字段参数,动态的值
VAR date_table =
SUMMARIZE
(FILTER('日期表','日期表'[Date]>=MAX('数据源'[日期])-N+1
&&'日期表'[Date]<=MAX('数据源'[日期])),
'日期表'[Date])
VAR sales_table =
ADDCOLUMNS(date_table,"产品日环比",[产品销量日环比])
VAR sales_table_below = FILTER(sales_table,[产品销量日环比]<0)
RETURN
CONCATENATEX(sales_table_below,'日期表'[Date]," , ")

代码解释:

因为我们需要下降日期的明细,所以2.1中的代码就不适用了,因为countrows返回的是一个值,并不是文本,这里就到了CONCATENATEX函数发挥作用了,sales_table_below 变量 是所有下降日期的表,我们通过CONCATENATEX将这个表中的日期进行拼接,以逗号为分割便得到了最后我们需要的效果。

三:总结

一句话总结这个案例,就是通过构建虚拟日期表,在虚拟日期表的基础上构建虚拟的日期指标表,最后根据需要,去对这个虚拟的日期指标表,进行计数、拼接等等操作,来实现我们的业务模块功能。

如果你感兴趣,并且对文章内容有疑问,欢迎私聊沟通交流。

#POWERBI_指标监控(第二部分,周期内下降天数及日期明细)的更多相关文章

  1. 图解JanusGraph系列 - JanusGraph指标监控报警(Monitoring JanusGraph)

    大家好,我是洋仔,JanusGraph图解系列文章,实时更新~ 图数据库文章总目录: 整理所有图相关文章,请移步(超链):图数据库系列-文章总目录 源码分析相关可查看github(码文不易,求个sta ...

  2. flock防止crontab脚本周期内未执行完重复执行(转)

    如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突.而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了.如何确保只有一个脚本实例运行呢?一个好用 ...

  3. SpringBoot第十二集:度量指标监控与异步调用(2020最新最易懂)

    SpringBoot第十二集:度量指标监控与异步调用(2020最新最易懂) Spring Boot Actuator是spring boot项目一个监控模块,提供了很多原生的端点,包含了对应用系统的自 ...

  4. 【03】SpringBoot2核心技术-核心功能—数据访问_单元测试_指标监控

    3.数据访问(SQL) 3.1 数据库连接池的自动配置-HikariDataSource 1.导入JDBC场景 <dependency> <groupId>org.spring ...

  5. 业务监控-指标监控(v1)

    最近做了指标监控系统的后台,包括需求调研.代码coding.调试调优测试等,穿插其他杂事等前后花了一个月左右. 指标监控指的是用户通过接口上传某些指标信息,并且通过配置阈值公式和告警规则等信息监测自己 ...

  6. 基于 prometheus 的微服务指标监控

    基于prometheus的微服务指标监控 服务上线后我们往往需要对服务进行监控,以便能及早发现问题并做针对性的优化,监控又可分为多种形式,比如日志监控,调用链监控,指标监控等等.而通过指标监控能清晰的 ...

  7. oracle 根据一个时间段获取这个时间段内所有月份、天数、日期

    注:本文来源于< oracle 根据一个时间段获取这个时间段内所有月份.天数.日期 > 获取月份列表: SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2014-10 ...

  8. 关于hadoop的运行的一些指标监控(非cdh平台的)

    在hadoop-env.sh中添加: # 在配置namenode和datanode时都会有用到JMX_OPTS的代码,是为了减少重复提取出的公共代码 export JMX_OPTS="-Dc ...

  9. K8S Canal基于Prometheus进行实时指标监控

    文章来源于本人的印象笔记,如出现格式问题可访问该链接查看原文 部署canal的prometheus监控到k8s中 1.grafana的docker部署方式:https://grafana.com/gr ...

  10. 简单4步,利用Prometheus Operator实现自定义指标监控

    本文来自Rancher Labs 在过去的文章中,我们花了相当大的篇幅来聊关于监控的话题.这是因为当你正在管理Kubernetes集群时,一切都会以极快的速度发生变化.因此有一个工具来监控集群的健康状 ...

随机推荐

  1. uniapp主题切换功能的方式终结篇(全平台兼容)

    前面我已经给大家介绍了两种主题切换的方式,每种方式各有自己的优势与缺点,例如"scss变量+vuex"方式兼容好但不好维护与扩展,"scss变量+require" ...

  2. CANoe _ DBC 的创建过程

    在Canoe中创建DBC(Database Container)文件,用于描述和定义CAN总线上的节点.消息和信号,遵循以下步骤: 1.打开Canoe 启动Canoe软件. 2.创建新项目 在Cano ...

  3. 深入浅出MySQL - 架构与执行

    Photo by Merilin Kirsika Tedder from Pexels 一.MySQL的逻辑架构 MySQL作为一个流行的开源关系型数据库管理系统,它可以运行在多种平台上,支持多种存储 ...

  4. 基于Node.js的分布式应用程序架构设计与最佳实践:实现高效、可扩展的分布式系统

    目录 基于Node.js的分布式应用程序架构设计与最佳实践:实现高效.可扩展的分布式系统 随着互联网的普及和发展,分布式系统已经成为现代应用程序中不可或缺的一部分.而Node.js作为当前最流行的Ja ...

  5. Kubernetes应用编排与管理 —— Deployment升级策略

    1.Deployment概述 Deployment 是 Kubernetes 控制器的一种高级别实现,它构建于 ReplicaSet 控制器之上,它可用于为 Pod 和 ReplicaSet 资源提供 ...

  6. 【FAQ】关于CP反馈的联运应用的常见结算问题小结

    问题一:为什么在"我的账户">>"收益"里面的金额和支付报表中的金额对不上 ? 关于联运类应用付费产品在华为平台上结算问题,您可以详细参考一下&qu ...

  7. Day07_Java_作业

    A:简答题 1. 构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项? 构造方法中可不可以写return语句呢? 2. 一个类的缺省构造方法可以有参数吗? 3. 静态代码块和构造代码块的特 ...

  8. Python 潮流周刊第 11 期(2023-07-15)

    查看全文:Python潮流周刊#11:如何使用 Golang 运行 Python 代码? 文章&教程 1.使用 Golang 和 Docker 运行 Python 代码 2.答案在代码中:&q ...

  9. 上班第一天 Android 环境配置

    其实是昨天把大概 回归Android开发第一天 学会查 然后等待 反正我是不希望以后再查了 写出来吧 去谷歌那边把android studio下载下来 更新jdk版本(与传统的java开发不同 高版本 ...

  10. Word书签替换,加盖电子印章及转换PDF(Java实用版)

    一.前言 在项目中有需要对word进行操作的,可以看看哈,本次使用比较强大的spire组件来对word进行操作,免费版支持三页哦,对于不止三页的word文件,可以购买收费版,官网:https://ww ...