powerBI应用技巧
power BI应用技巧
持续跟新
1.函数日期表
使用高级编辑器—M函数(把下面代码直接复制即可)
版本1:前单位写的M函数,日期是2021年开始的
letdate=(optional 请输入开始年份 as number,optional 请输入结束年份 as number)=>letx = 请输入开始年份,y = if 请输入结束年份 = null then 请输入开始年份 else 请输入结束年份,begin_date = if x = null then #date(Date.Year(DateTime.LocalNow()),1,1) else #date(x,1,1),end_date = if y = null then #date(Date.Year(DateTime.LocalNow()),12,31) else #date(y,12,31),list = {1..Number.From(end_date)-Number.From(begin_date)+1},dates = List.Transform( list , (item)=> Date.AddDays(begin_date,item-1) ),table = Table.TransformColumnTypes(Table.RenameColumns(Table.FromList(dates, Splitter.SplitByNothing(), null, null, ExtraValues.Error),{{"Column1", "日期"}}),{{"日期", type date}}),date_id = Table.TransformColumnTypes(Table.AddColumn(table, "日期序号", each Date.Year([日期])*10000+Date.Month([日期])*100+Date.Day([日期])),{{"日期序号", type number}}),year_id = Table.AddColumn(date_id, "年序号", each Date.Year([日期]), type number),year_name = Table.AddColumn(year_id, "年份名称", each Text.From([年序号]) & "年"),quarter_id = Table.AddColumn(year_name, "季度序号", each Date.QuarterOfYear([日期]), type number),quarter_name = Table.AddColumn(quarter_id, "季度名称", each Text.From([季度序号])& "季"),month_id = Table.AddColumn(quarter_name, "月份序号", each Date.Month([日期]), type number),month_name = Table.AddColumn(month_id, "月份名称", each Text.From([月份序号])& "月"),week_id = Table.AddColumn(month_name, "周序号", each Date.WeekOfYear([日期]), type number),week_name = Table.AddColumn(week_id, "周名称", each "W"&Text.From([周序号])),year_quarter_id = Table.AddColumn(week_name, "年季序号", each Date.Year([日期])*10+Date.QuarterOfYear([日期]), type number),year_quarter_name = Table.AddColumn(year_quarter_id, "年季名称", each Text.From([年序号])&"年"&Text.From([季度序号])&"季"),year_month_id = Table.AddColumn(year_quarter_name, "年月序号", each Date.Year([日期])*100+ Date.Month([日期]), type number),year_month_name = Table.AddColumn(year_month_id, "年月名称", each Text.From([年序号])& "年" &Text.From([月份序号])& "月"),year_week_id = Table.AddColumn(year_month_name, "年周序号", each Date.Year([日期])*100+ Date.WeekOfYear([日期]), type number),#"year_week-name" = Table.AddColumn(year_week_id, "年周名称", each Text.From([年序号]) & "年"&Text.From([周序号])&"周"),day_in_week_id = Table.AddColumn(#"year_week-name", "日序号", each Date.DayOfWeek([日期],0), type number),day_in_week_name = Table.AddColumn(day_in_week_id, "周天名称", each if [日序号] = 1 then "WD1" else
if [日序号] = 2 then "WD2" else
if [日序号] = 3 then "WD3" else
if [日序号] = 4 then "WD4" else
if [日序号] = 5 then "WD5" else
if [日序号] = 6 then "WD6" else
"WD7"),work_day = Table.AddColumn(day_in_week_name , "工作日", each if [日序号] = 6 or [日序号] = 0 then "休息日" else "工作日" )
inwork_dayin date( 2021 , Date.Year( DateTime.LocalNow() ))
版本2:参考@Fabric白茶文档 ,这里就不复制了,需要的可以参考链接(https://www.yuque.com/powerplat/ai1yri/yvk3gc)。
版本3:使用表函数
1.在建模窗口下,选择新建表格
2.修改表名之后,复制代码
日期表 =
GENERATE (CALENDAR ( MIN ( '调用的函数'[日期] ), MAX ( '调用的函数'[日期] ) ),VAR DA = [Date]VAR YEAR =YEAR ( DA )VAR QUARTER = "季度" & FORMAT ( DA, "Q" )VAR MONTE =FORMAT ( DA, "MM" ) & "月"VAR DAY =DAY ( DA )VAR WEEKID =WEEKDAY ( DA, 2 )RETURNROW ("年度", YEAR,"季度", QUARTER,"月份", MONTE,"日", DAY,"年度季度", YEAR & QUARTER,"年度月份", YEAR & MONTE,"星期", WEEKID)
)
2.同比环比
同比:2022年1月与2023年1月比较;
环比:2022年2月与2022年1月比较:
直接上案例:计算库存金额的同比?(环比同理,YEAR改成MONTH)
1.库存金额 =
SWITCH(SELECTEDVALUE('PAT还原口径'[ID],1) --默认还原后, 1 , [库存金额.还原后], 2 , [库存金额.还原前]
)
2.库存金额.上年 = CALCULATE([库存金额],DATEADD('DIM日期'[日期],-1,YEAR))
3.库存金额.同比 = [库存金额]-[库存金额.上年]
相关文章:
powerBI应用技巧
power BI应用技巧 持续跟新 1.函数日期表 使用高级编辑器—M函数(把下面代码直接复制即可) 版本1:前单位写的M函数,日期是2021年开始的 letdate(optional 请输入开始年份 as number,optional 请输入结束年份 as number)>l…...
RK3568背光调试分享
一.PWM 驱动 驱动文件所在位置: drivers/pwm/pwm-rockchip.c 3.10 和 4.4 及以上版本内核下驱动文件名字是同一个, pwm-rockchip.c 只支持 Continuous mode , 但是里面的代码有些差别。 4.4 及以上内核版本将 pwm_config() , pwm_enable()...
Numpy入门(2)—随机数
随机数np.random 主要知识点: 创建ndarray随机数组随机打乱ndarray元素顺序随机选取元素 2.1 创建随机ndarray数组 创建随机ndarray数组主要包含设置随机种子、均匀分布和正态分布三部分内容,具体代码如下所示。 设置随机数种子 # 可以多次运行&am…...
ansible的playbook剧本
playbook剧本 PlayBook1.playbooks 本身由以下各部分组成2.示例:3.运行playbook补充参数: 4.定义、引用变量5.指定远程主机sudo切换用户6.when条件判断7.迭代8.Templates 模块1.先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变量2…...
【03 英语语法:从句(名词从句、定语从句/形容词从句、状语从句/副词从句)】
从句 从句:名词从句、定语从句、状语从句(名定状名形副)1. 名词从句(名词):主语、宾语、表语、同位语、宾补▲名词从句的种类(按引导词): that、whether、疑问词 句子⑴…...
vue动态修改audio地址
问题:点击后替换url地址,实现了,但是播放器依旧没有反应。 解决:vue中动态替换只是替换了地址,并没有告诉audio标签是否要执行,执行什么操作。要load后才能让它知道,是在喊他,他需求…...
CF113A Grammar Lessons 题解
一道模拟题。 题目传送门 题目意思: 给你一个句子,让你检查这个句子的语法是否正确。(语法请自行在题目中查看) 思路: 就是模拟。依次判断这个句子是否符合每一条语法即可。但是细节很多就因为细节我错了好多次&…...
puzzle(0414)六边形拼图
目录 六边形拼图 简单 中等 困难 六边形拼图 taptap小游戏 简单 (3) (4) 中等 (3) (4) 困难 (2) (3) (4ÿ…...
回归预测 | MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测
回归预测 | MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测 目录 回归预测 | MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测; 2.运行环…...
BEV感知实时构建路口拓扑 觉非科技基于MapTR的优化与实践
近期,觉非科技通过在车端与路端的大规模数据积累,基于MapTR(Map TRansformer)方法提出了创新与优化:①对车道信息的表达方式进行优化,并简化了模型结构;②在MapTR的基础上加入了地图先验信息&am…...
如何在TikTok“点火”?用时下最流行的工具解码赚钱
抖音电商飞速发展到今天,训练出一帮极具紧张感、高效性,和“数据特征”凸显的电商从业者。 注意,这里的"数据特征"不单单是数据分析、数据导向那么简单,而是被竟对、平台、市场的现实教育出来的“数据工具意识”。 “…...
set NOCOUNT on
SET NOCOUNT ON 是一条 SQL 语句,用于禁止在执行查询时返回受影响的行数消息。通常,当执行 INSERT、UPDATE、DELETE 等操作时,数据库会返回一个消息,表示受影响的行数。但在某些情况下,你可能希望禁用这些消息…...
垃圾回收机制
什么是内存泄漏? 内存泄漏是指程序中已经不再使用的内存却没有被正确释放或回收的情况。在编程中,当对象或数据不再被程序使用,但其所占用的内存空间没有被垃圾回收机制回收,就会导致内存泄漏。 内存泄漏可能会导致程序的内存消…...
Golang 程序性能优化利器 PGO 详解(一):简单介绍及使用
在软件开发过程中,性能优化是不可或缺的一部分。无论是在Web服务、数据处理系统还是实时通信中,良好的性能都是至关重要的。Golang 从1.20版版本开始引入的 Profile Guided Optimization(PGO)机制能够帮助更好地优化 Go 程序的性能…...
redis key操作的相关命令
目录 1、del key 2、dump key 3、exists key 4、expire key seconds 5、expireat key timestamp 6、pexpire key milliseconds 7、pexpireat key milliseconds-timestamp 8、keys pattern 9、move key db …...
WebRTC | 网络传输协议RTP与RTCP
目录 一、UDP与TCP 1. TCP 2. UDP 二、RTP 1. RTP协议头 (1)V(Version)字段 (2)P(Padding)字段 (3)X(eXtension)字段 &#x…...
160. 相交链表
题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交**:** 题目数据 保证 整个链式结构中不存在环。 注意,函…...
【MFC】12.双缓冲序列化机制-笔记
双缓冲 双缓冲在之前写字符雨的时候,已经简单介绍过,今天我们来写一个简单的程序来体会双缓冲机制 我们实现一个在屏幕上画直线的功能: 在类中添加变量,保存起点坐标和终点坐标: //定义一个容器,保存每…...
Linux 终端会话中,启动任务并放到后台运行
一、需求 linux要执行一个脚本,耗时很长,想要脚本在后台运行,用户注销或终端软件关闭时也可以继续运行。 二、实现 1、nohup命令 脚本在后台运行 nohup 是在 Linux 和类 Unix 系统中使用的一个命令,用于在后台运行程序&#x…...
软考笔记——10.项目管理
进度管理 进度管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,实现工期目标。 具体来说,包括以下过程: (1) 活动定义&#…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
