7. DAX 时间函数-- DATE 日期--TOTALMTD、TOTALQTD、TOTALYTD

函数名目的语法返回值
TOTALMTD计算当前上下文中该月份至今的表达式的值 。TOTALMTD ( <表达式>, <日期列>, [<筛选器>] )标量 表示表达式的标量值,在“日期”中给定日期,计算当前月份至今的日期 。
TOTALQTD计算当前上下文中该季度至今的日期的表达式的值 。TOTALQTD ( <表达式>, <日期列>, [<筛选器>] )返回表示“表达式”的标量值,该值计算到目前为止当前季度中的所有日期(假定当前日期处于“日期”) 。
TOTALYTD计算当前上下文中该季度至 [截止日期] 的表达式的值 。TOTALYTD ( <表达式>, <日期列>, [<筛选器>], [截止日期] )表示表达式的标量值,计算年初至今的日期 。

一:准备测试数据

        我喜欢用数据说话,还是使用之前的测试数据,这套数据横跨 4 年,从 2024 年到 2026 年,每天都不停歇,最早日期是 2024-02-01,最晚日期是 2026-07-11,销售额第一天是 1,第二天是 2,依次到2026-07-11 是 892。

二: 实践出真知

        在前面几章的讲解下,大家应该比较熟悉DAX 函数中类似的使用场景了。如果没有看过,可以点击下面的列表:

1. DAX 时间函数--生成日期表_dax今天所在的周-CSDN博客

2. DAX 时间函数--围绕着 DATE 日期格式的那部分_dax函数怎么取上个自然周数据-CSDN博客

3. DAX 时间函数-- DATE 日期--一生二,二生三,三生万物_dax date函数-CSDN博客 

4. DAX 时间函数-- DATE 日期--START/END OF MONTH/QUARTER/YEAR-CSDN博客

5. DAX 时间函数-- DATE 日期--PREVIOUS/NEXT DAY/MONTH/QUARTER/YEAR-CSDN博客 

6. DAX 时间函数-- DATE 日期--FIRSTDATE \LASTDATE\DATESMTD\DATESQTD\DATESYTD-CSDN博客

 1)准备代码
TOTALMTD = TOTALMTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=1)
TOTALQTD = TOTALQTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=2)
TOTALYTD = TOTALYTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=2)
TOTALYTD 1101 = TOTALYTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=2,"11/01")
2)测试数据

 

3)TOTALMTD 函数
TOTALMTD = TOTALMTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=1)

此处用 TOTALMTD 上述语句,其含义是:统计该月份至今'测试数据'中的[销售额],过滤条件日期为 1 日。
首先过滤器左值如何变化不影响测试结果,只有过滤器右值才影响结果。

测试数据从 2024-09-14 到 2025-03-16 时候,TOTALMTD  为 395

测试数据从 2025-08-19 到 2025-11-26 时候, TOTALMTD 为 640

分析:过滤器右值为  2025-03-16 时候,符合条件的只有 2025-03-01 的值,即 395

2025/3/1 0:00395

过滤器右值为  2025-11-26 时候,符合条件的只有 2025-11-01 的值,即 640

2025/11/1 0:00640

 大家明白了啦?

4)TOTALQTD 函数
TOTALQTD = TOTALQTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=2)

此处用 TOTALQTD 上述语句,其含义是:统计该季度至今'测试数据'中的[销售额],过滤条件日期为 2 日。
首先过滤器左值如何变化不影响测试结果,只有过滤器右值才影响结果。

测试数据从 2024-09-14 到 2025-03-16 时候,TOTALQTD  为 1101

测试数据从 2025-08-19 到 2025-11-26 时候, TOTALQTD 为 1251

分析:过滤器右值为  2025-03-16 时候,符合条件的只有 2025-01-02、2025-01-02、2025-03-02 的值,即 1101=337+368+396

2025/1/2 0:00337
2025/2/2 0:00368
2025/3/2 0:00396

        过滤器右值为  2025-11-26 时候,符合条件的只有 2025-10-02、2025-11-02、 ( 之所以没有 2025-12-02,是因为 2025-12-02 > 2025-11-26,不符合至今的要求)的值,即 1251=610+641

2025/10/2 0:00610
2025/11/2 0:00641
5)TOTALYTD 函数
TOTALYTD = TOTALYTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=2)
TOTALYTD 1101 = TOTALYTD(SUM('测试数据'[销售额]),'测试数据'[Date],'测试数据'[Date].[日]=2,"11/01")

此处用 TOTALYTD 上述语句,其含义是:统计该年度至今'测试数据'中的[销售额],过滤条件日期为 2日。

TOTALYTD  1101 ,其含义是:统计该年度至今'测试数据'中的[销售额],过滤条件日期为 2日,且截止日期为 11-01
首先过滤器左值如何变化不影响测试结果,只有过滤器右值才影响结果。

测试数据从 2024-09-14 到 2025-03-16 时候,TOTALYTD 为 1101,TOTALYTD  1101 为 1683 

测试数据从 2025-08-19 到 2025-11-26 时候,TOTALYTD 为 5371,TOTALYTD  1101 为 664

分析:过滤器右值为  2025-03-16 时候,

          针对 TOTALYTD  符合条件的只有 2025-01-02、2025-01-02、2025-03-02 的值,即 1101=337+368+396

2025/1/2 0:00337
2025/2/2 0:00368
2025/3/2 0:00396

        针对 TOTALYTD  1101 符合条件的有 2024-11-02、2024-12-02、2025-01-02、2025-01-02、2025-03-02 、 的值,即 1683 =276+306+337+368+396;因为此时是以 11/01作为年度截止日期,所以上一年度日期还应该包括2024-11-02、2024-12-02。这个关系有点绕,请大家一定要注意。

2024/11/2 0:00276
2024/12/2 0:00306
2025/1/2 0:00337
2025/2/2 0:00368
2025/3/2 0:00396

   过滤器右值为  2025-11-26 时候

        针对 TOTALYTD  符合条件的只有 2025-01-02、2025-01-02、2025-03-02 、2025-04-02、2025-05-02、2025-06-02、2025-07-02、2025-08-02、2025-09-02、2025-09-02 的值,即 5371,

        针对 TOTALYTD  1101 符合条件的只有 2025-11-02、即 641;因为此时是以 11/01作为年度截止日期

~~~~~~~~~~~~~~~博客写得累,麻烦点个赞或者收藏再走吧!谢谢同学!还可以加个关注!~~~~~~~~~

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

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

相关文章

selenium篇-基础用法

Selenium WebDriver 是一款流行的自动化测试工具&#xff0c;用于模拟浏览器的各种操作。以下是一些Selenium WebDriver 中最常用的基本命令和方法摘要&#xff1a; 打开网页 (Get) 使用 get() 方法打开指定URL&#xff1a; Python 1driver.get("http://www.example.com&…

安卓Dagger框架:依赖注入实践与应用

摘要 Dagger是适用于Android和Java生态系统的强大依赖注入(Dependency Injection, DI)工具&#xff0c;以其编译时生成代码和高效的运行时性能而著称。本文旨在深入探讨Dagger的核心概念、工作流程、优缺点以及实际代码示例&#xff0c;以便开发者更好地理解并有效利用这一框架…

Github 2024-04-20 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-20统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目2Python项目2Swift项目2HTML项目1CSS项目1Go项目1C项目1C++项目1Rust项目1编程面试大学:成为软件工程师的全面学习计划 创建周期…

【最新可用】Claude国内镜像,可上传图片,可用Claude3全系模型,包括Pro版本的Opus),亲测比GPT好用

Claude对话、上传图片的超详细教程来啦&#xff01; 近期&#xff0c;Claude 3 Opus的发布引发了网络上的广泛关注与热议&#xff0c;有观点认为其性能已经凌驾于GPT-4之上。虽然网络上已经出现了大量基于这两款先进AI技术的实际应用案例&#xff0c;但仍有许多人对在国内如何…

SHELL脚本编程----netstat练习4-输出和3306端口建立连接总的各个状态的数目

描述 假设netstat命令运行的结果我们存储在nowcoder.txt里&#xff0c;格式如下&#xff1a; Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:6160 0.0.0.0:* LISTEN tcp 0 0…

Spring Boot集成atomikos快速入门Demo

1.什么是atomikos Atomikos是一个轻量级的分布式事务管理器&#xff0c;实现了Java Transaction API (JTA)规范&#xff0c;可以很方便的和Spring Boot集成&#xff0c;支持微服务场景下跨节点的全局事务。Atomikos公司官方网址为&#xff1a;https://www.atomikos.com/。其旗下…

Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)

文章目录 一、JavaFx介绍1、JavaFx简介2、可用性3、主要特征4、UI控件 二、JavaFx概述1、JavaFx结构图2、JavaFx组件&#xff08;1&#xff09;舞台&#xff08;2&#xff09;场景① 场景图② 节点 &#xff08;3&#xff09;控件&#xff08;4&#xff09;布局&#xff08;5&a…

ubuntu在docker容器中安装strongswan

1.起动一个ubuntu容器&#xff0c;我是用的docker compose启动的&#xff0c;compose的配置文件为ipsec-strongswan.yml services:ipsec-strongswan:image: ubuntu:22.04container_name: ipsec-strongswancap_add:- NET_ADMIN- SYS_ADMIN- SYS_MODULEcommand: "tail -f /…

Unity射击游戏开发教程:(2)实例化和销毁游戏对象

现在我们有了“飞船”,我们可以在屏幕上移动它,现在我们需要发射一些激光!与宇宙飞船一样,我们将让事情变得简单并使用 Unity 自己的基本形状。舱体的效果很好,所以我们来创建一个。 我们保存了有关位置、旋转和缩放的信息。我们想要缩小这个对象,假设每个轴上缩小到 0.2…

【声呐仿真】学习记录1-配置dave、uuv_simulator

【声呐仿真】学习记录1-配置dave、uuv_simulator 1.介绍2.配置3.一些场景 1.介绍 家|DAVE项目 — Home | Project DAVE 2.配置 参考官方教程安装|DAVE项目 — Installation | Project DAVE mkdir -p ~/uuv_ws/src cd ~/uuv_ws/src git clone https://github.com/Field-Robot…

二维图像的双线性插值

1. 原理 见下图,假设原图为单通道的灰度图,想求图像中某点Q(x,y)的灰度值。 2. 代码实现 #include <iostream> #include <stdio.h> #include <stdint.h> #include <string> #include<opencv2/opencv.hpp> #include<opencv2/core.hpp>…

踏上R语言之旅:解锁数据世界的神秘密码(二)

R语言学习 文章目录 R语言学习1.数据的R语言表示2.多元数据的R语言调用3.多元数据的简单R语言分析 总结 1.数据的R语言表示 数据框&#xff08;data frame) R语言中用函数data.frame()生成数据框&#xff0c;其句法是&#xff1a; data.frame(data1,data2,…)&#xff0c;例如…

OpenHarmony网络协议通信—kcp

kcp 是一种 ARQ 协议,可解决在网络拥堵情况下 tcp 协议的网络速度慢的问题 下载安装 直接在 OpenHarmony-SIG 仓中搜索 kcp 并下载。 使用说明 准备一套完整的 OpenHarmony 3.1 Beta 代码 库代码存放路径&#xff1a;./third_party/kcp 修改添加依赖的编译脚本 在/develo…

Bridge 2024(Br2024):革新文件管理,提升创意思维的卓越工具

Bridge 2024&#xff08;Br2024&#xff09;是一款专为Mac和Windows用户设计的数字媒体管理软件&#xff0c;以其出色的文件管理和项目管理功能&#xff0c;成为创意专业人士不可或缺的工作伙伴。这款软件不仅继承了Adobe Bridge一贯的直观界面和强大功能&#xff0c;更在多个方…

基于 LLM 大模型 Agent 的实践总结和困境分享

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 基于大模…

树莓派+Openwrt连接校园网,打破校园网设备限制

前言 因为本校学生校园网只允许最多三个设备登录&#xff0c;对于同时拥有多个联网设备的我十分不友好&#xff0c;而且大多单片机如esp32的wifi模块是只允许一般的WPA/WPA2认证的&#xff0c;是不支持校园网的portal认证。所以我决定搞一个路由器。 然后我上网买了一个TP-Li…

【ThinkPHP框架教程·Part-01】ThinkPHP6.x框架安装教程

文章目录 一、框架介绍1、框架简介和版本选择2、主要新特性 二、安装步骤1、下载并运行Composer-Setup.exe2、安装TP前切换镜像3、安装稳定版4、测试运行 一、框架介绍 1、框架简介和版本选择 Thinkphp是一种基于php的开源web应用程序开发框架ThinkPHP框架&#xff0c;是免费开…

基于注解配置bean

文章目录 1.基本使用1.基本介绍2.快速入门1.引入jar包2.MyComponent.java3.UserAction.java3.UserDao.java4.UserService.java5.beans05.xml6.断点查看bean对象是否创建7.测试 3.注意事项和细节 2.自己实现spring注解1.需求分析2.思路分析图3.编写自定义注解ComponentScan4.编写…

【AI面试】工作和面试过程中,经常遇到的其他问题汇总(持续更新)

在与面试官在面对面进行交流的过程中,面试官不仅仅会针对简历中记录的内容进行深入的了解,还会进行一些发散性的提问。 目前也就很明显,就是要看看对方: 对于常见的问题是如何思考的?有没有在持续性的学习本领域的新知识?对于不知道的问题,是如何思考的?迁移能力咋样。…

Mybaties入门

文章目录 介绍持久层框架Jdbc缺点Mybaties简化整体框架ORM方式 Mybaties快速入门(Mapper代理)核心配置文件映射文件配置编写会话工具类 介绍 Mybaties是一款优秀的持久层框架&#xff0c;用于简化JDBC开发 持久层 负责将数据保存到数据库的那一层代码JavaEE三层架构&#x…