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作为年度截止日期

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

452. 用最少数量的箭引爆气球[排序+贪心]

https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/description/?envTypestudy-plan-v2&envIdtop-interview-150 题目描述 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xst…

C++ 内存分区管理

一、栈区&#xff08;Stack&#xff09; 栈区用来存储函数的参数值、局部变量的值等数据。栈区是自动分配和释放的&#xff0c;函数执行时会在栈区分配空间&#xff0c;函数执行结束时会自动释放这些空间。栈区的数据是连续分配的&#xff0c;由系统自动管理。 注意事项&…

大话设计模式-依赖倒转原则

依赖倒转原则 在大话设计模式这本书中&#xff0c;作者通过电话修电脑这个例子引入了面向对象设计的基本原则之一&#xff1a;依赖倒转原则。 概念 依赖倒转原则是面向对象设计的基本原则之一&#xff0c;它用于减少类之间的耦合&#xff0c;提高系统的灵活性和可维护性。在…

明道云HAP合作伙伴计划全解析:开辟业务增长新路径

什么是明道云HAP合作伙伴计划&#xff1f; 明道云采纳的是增值伙伴商业模式。在这个模式下&#xff0c;合作伙伴通过平台型产品为终端客户提供定制应用、行业解决方案、赋能培训等增值活动&#xff0c;从而在大幅降低交付成本的同时获得多来源的收入&#xff0c;提高经营绩效水…

PLC中连接外部现场设备和CPU的桥梁——输入/输出(I/O)模块

输入&#xff08;Input&#xff09;模块和输出&#xff08;Output&#xff09;模块简称为I/O模块&#xff0c;数字量&#xff08;Digital&#xff0c;又称为开关量&#xff09;输入模块和数字量输出模块简称为DI模块和DQ模块&#xff0c;模拟量&#xff08;Analog&#xff09;输…

RK3568 android11 修改关机弹窗界面

需要修改关机弹窗界面&#xff0c;当前界面我已经按照客户需求去掉emergency 但是客户需要按其他区域可以实现返回&#xff0c;也就是点击黑色背景取消dialog 嗑代码发现黑色布局为&#xff1a; <node index"0" text"" resource-id"com.android.…

【Redis】string数据类型

文章目录 常用命令setsetnx & NXXXsetex & EXpsetex & PX msetget & mgetincr & decrincrby & decrbyincrbyfloatappendgetrangesetrangestrlen 内部编码 字符串类型是 Redis 最基础的数据类型。 在redis中所有的键都是 string 类型&#xff0c;其他的…

oracle操作系统OS认证和密码文件认证

1 说明 1.1 常见认证方式 Oracle登录认证方式主要涉及到如何验证用户身份以访问数据库。Oracle数据库提供了多种认证机制来确保数据的安全性和访问控制&#xff0c;每种方式都有其特定的使用场景和安全性考虑。以下是Oracle中常见的登录认证方式&#xff1a; 1、基于操作系统…

Vue-鼠标悬浮在缩略图图片上,弹出原图

使用Popover 弹出框实现 <template><div><el-popoverplacement"right"width"400"trigger"hover"><img src"https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x36…

三维天地低代码平台实现客户需求的快速交付与灵活定制

— 款合格的低代码平台应具备架构稳定、 产品质量高、 交付速度快、 运维简便的特点, 能快速实现业务需求到系统功能落地。 二十余年来, 北京三维天地科技股份有限公司一直专注于实验室信息化管理 领域, 旗下 SW- LIMS 已在化工、 环保、 食品、 科研等二十余个行业广泛应用,服…

PyTorch and Stable Diffusion on FreeBSD

Stable Diffusion在图像生成领域具有广泛的应用和显著的优势。它利用深度学习和扩散模型的原理&#xff0c;能够从随机噪声中生成高质量的图像。 官网&#xff1a;GitHub - verm/freebsd-stable-diffusion: Stable Diffusion on FreeBSD with CUDA support FreeBSD下难度主要…

docker安装并跑通QQ机器人实践(4)-bs-cqhttp搭建

go-cqhttp&#xff0c;基于 Mirai 以及 MiraiGo 的 OneBot Golang 原生实现&#xff0c;只需简单的配置, 就可以基于 go-cqhttp 使用框架开发&#xff0c;具有轻量, 原生, 高并发, 低占用, 跨平台等特点。 1 go-cqhttp 官网及可执行文件下载链接 go-cqhttp 官网&#xff1a;ht…

项目实践---贪吃蛇游戏的实现

上一章&#xff0c;我们已经分析了贪吃蛇的具体内容&#xff0c;包括它是如何实现的&#xff0c;怎样完成这个项目的&#xff0c;其中就提到了 贪吃蛇有三个代码&#xff1a;一个是测试代码&#xff0c;一个是头文件代码&#xff0c;还有一个是主函数代码。那么今天我们就来讲一…

【大数据】TiDB: A Raft-based HTAP Database

文章目录 数据库知识介绍数据库系统的ACID特性分布式系统和CAP理论关系型数据库与非关系型数据库关系型数据库非关系型数据库 OldSQL、NoSQL、NewSQLOldSQLNoSQLNewSQL OLTP、OLAP、HTAP 前言&#xff1a;为什么选择TiDB学习&#xff1f;pingCAP介绍TiDB介绍TiDB的影响力TiDB概…

什么是大语言模型以及如何构建自己的大型语言模型?

一、关于大语言模型 LLM 对于无数的应用程序非常有用&#xff0c;如果我们自己从头开始构建一个&#xff0c;那我们可以了解底层的ML技术&#xff0c;并可以根据特定需求定制LLM&#xff0c;但是对资源的需求巨大。大型语言模型是一种 ML 模型&#xff0c;可以执行各种自然语言…

《QT实用小工具·二十八》基于qt开发的各种曲线

1、概述 源码放在文章末尾 该项目实现了各种曲线的绘制&#xff0c;下面是项目的demo演示&#xff1a; 项目部分代码如下&#xff1a; #include "frmsmoothcurve.h" #include "ui_frmsmoothcurve.h" #include "smoothcurve.h" #include "…

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

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

Axure设计原型图工具 Windows11安装步骤详解

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 Axure 是一个流行的原型设计工具&#xff0c;它被用来创建交互式原型、线框图和用户界面设计。Axure 可以帮助用户在项目早期阶段快速制作出可交互的原型&#xff0c;以便进行用户测试、验证设计概念和与…

jetcache fastjson 泛型复杂对象JSON序列 ,反序列化

Jetcache fastjson 泛型复杂对象JSON序列 ,反序列化 默认的FastJson2 序列化存在问题增强FastJson 支持Encode 编码器Decode 解码器 默认的FastJson2 序列化存在问题 默认的序列化不能转换List 中的泛型数据类型, 从缓存拿取的list集合对象数据全部都转换成了JSONObject 增强F…

UE5 把蓝图内的变量和事件暴露给序列使用

在蓝图变量内勾选Expose to Cinematics 事件: 在角色内添加自定义事件 在序列内对着角色的号添加Event,选择Trigger 添加关键帧,然后在关键帧右键添加class,在class下绑定事件