PowerBuilder常用日期时间函数
PowerBuilder常用日期时间函数
PowerBuilder常用日期时间函数2011-01-12 21:57Today():功能得到当前系统日期,在某些情况下,同时得到当前系统时间。
返回值:Date。
该函数返回当前系统日期。
用法:单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Today()函数的返回值类型为Date,在该函数用做某些函数的参数、而该参数要求DateTime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。
再如,Today()函数作为数据窗口控件SetItem()函数的参数,该函数参数中指定的数据窗口列的数据类型为DateTime,那么当前系统日期和时间将同时设置到数据窗口指定项中。
-------------------------------------------------------
Now():功能得到客户机的当前系统时间,返回值为Time类型。
-------------------------------------------------------
Year(date):功能得到日期值中的年度(有效取值1000到3000)。
参数date:date类型的值,返回值:Integer。
函数执行成功时得到date参数中的年份(采用四位数字),发生错误时返回1900。
用法:当应用程序把有两位数字表示年份的字符串转换成日期时,PowerBuilder根据下述规则选择世纪:如果年份值在00到49之间,PowerBuilder 将年份中的世纪(前两位数字)当作20;如果年份值在50到99之间,PowerBuilder将年份中的世纪(前两位数字)当作19。
比如,字符串"20-10-25"被PowerBuilder转换为2020-10-25;字符串"98-10-25"被PowerBuilder转换为1998-10-25。
因此,如果应用程序中需要指定1950年之前的日期,应该使用四位数字表示年份,以避免引起歧义。
PowerBuilder能够处理的年份从1000到3000之间。
-------------------------------------------------------
Month(date):功能得到日期值中的月份,有效值在1~12之间。
参数date:date类型的值返回值Integer。
函数执行成功时得到date参数中的月份(1到12之间)。
-------------------------------------------------------
Day(date):功能得到日期型数据中的号数(1到31之间的整数值)。
参数date:要得到号数的日期值,返回值:Integer。
函数执行成功时返回号数(1到31之间的整数值)。
-------------------------------------------------------
Hour(time):功能得到时间值中的小时,采用24小时制。
参数time:time类型的值,返回值:Integer。
函数执行成功时得到time参数中的小时(00到23之间)。
-------------------------------------------------------
Minute(time):功能得到时间值中的分钟,有效值在00~59之间。
参数time:time类型的值,返回值:Integer。
函数执行成功时得到time参数中的分钟(00到59之间)。
-------------------------------------------------------
Second(time):功能得到时间值中的秒,有效值在00~59之间。
参数time:time类型的值,返回值:Integer。
函数执行成功时得到time参数中的秒(00到59之间)。
-------------------------------------------------------
DaysAfter(date1, date2):功能得到两个日期间的天数。
date2 - date1
参数date1:date类型,指定起始日期,date2:date类型,指定终止日期,返回值:Long。
函数执行成功时得到两个日期之间的天数。
如果date2的日期在date1的前面,那么DaysAfter()函数返回负值。
-------------------------------------------------------
RelativeDate(date, n):功能得到指定日期前多少天或后多少天的日期。
参数date:Date类型,指定基准日期,n:integer类型,指定天数,返回值:Date。
当n的值大于0时返回参数date指定日期后第n天的日期;当n的值小于0时返回参数date指定日期前第n天的日期。
-------------------------------------------------------
RelativeTime(time, n):功能得到指定时间前多少秒或后多少秒的时间,采用24小时制。
参数time:time类型,指定基准时间,n:long类型,指定秒数,返回值:Time。
当n的值大于0时返回参数time指定时间后第n秒的时间;当n的值小于0时返回参数time指定时间前第n秒的时间。
-------------------------------------------------------
DayName(date):功能得到指定日期是一周中的星期几(例如,Sunday, Monday...)。
参数date:date类型值或变量,返回值:String。
函数执行成功时返回指定日期的星期表示(例如,Sunday, Monday...)。
-------------------------------------------------------
DayNumber(date):功能得到日期型数据是一星期中的第几天(用1到7之间的整数表示,星期天为1,星期一为2,...)。
参数date:date类型值或变量,返回值:Integer。
函数执行成功时返回指定日期是一星期中的第几天(用1~7表示,星期天为1,星期一为2,...)。
powerbuilder常用函数
pb常用函数(一)(转)Abs()功能计算绝对值。
语法Abs ( n )参数n:要得到绝对值的数值型变量或表达式返回值返回值的数据类型与n的数据类型相同,函数执行成功时返回n的绝对值。
如果参数n的值为NULL,Abs()函数返回NULL。
Ceiling()功能返回大于n的最小整数。
语法Ceiling ( n )参数n:数值型变量或表达式返回值返回值的数据类型与n的数据类型相同。
函数执行成功时返回大于n的最小整数。
如果参数n的值为NULL,Ceiling()函数返回NULL。
Cos()功能计算余弦,其中参数以弧度为单位。
语法Cos ( n )参数n:数值型变量或表达式返回值Double。
函数执行成功时返回n的余弦。
如果参数n的值为NULL,Cos()函数返回NULL。
Exp()功能计算e的n次方。
语法Exp ( n )参数n:指定幂值返回值Double。
函数执行成功时返回e(约等于2.71828)的n次方。
如果参数n的值为NULL,Exp()函数返回N ULL。
Fact()功能计算n的阶乘。
语法Fact ( n )参数n:数值型变量或表达式返回值Double。
函数执行成功时返回n的阶乘。
如果参数n的值为NULL,Fact()函数返回NULL。
Int()功能得到小于等于n的最大整数。
语法Int ( n )参数n:数值型变量或表达式返回值Integer。
函数执行成功时返回小于等于n的最大整数。
如果n的值太小或太大,超过了整数的表示范围,则函数返回0。
如果参数n的值为NULL,Int()函数返回N ULL。
Log()功能计算n的自然对数。
语法Log ( n )参数n:数值型变量或表达式,其值必须大于0返回值Double。
函数执行成功时返回n的自然对数。
如果n小于等于0,将导致运行错误。
如果参数n的值为NULL,Log()函数返回NULL。
LogTen()功能计算n的常用对数(以10为底)。
参数n:数值型变量或表达式,其值必须大于0返回值Double。
PowerBI 中的函数日期表
PowerBI 中的函数日期表在PowerBI中,日期表的问题是始终都无法绕过的一个问题,首先是微软默认的日期表月份显示如下:可能这种形式我们自己看起来没啥的,但是要考虑做出来的可视化报表呈现的对象绝对不仅仅是自己,那么就需要我们自己来制作自己的日期维度表。
太多方法就不说了,这里提供两种方法大家参考:一、M函数:1、在PQ编辑器界面,左边查询的位置,点击鼠标右键,新建空白查询:2、点击操作界面的上方的高级属性编辑器:3、将查询里面所有的内容清空,复制下面这段代码进去:letCalendarType = type function (optional CalendarYearStart as (type number meta [Documentation.FieldCaption = "开始年份,日期表从开始年份1月1日起。
",Documentation.FieldDescription = "日期表从开始年份1月1日起",Documentation.SampleValues = { Date.Year( DateTime.LocalNow( ) ) - 1 } // Previous Year]),optional CalendarYearEnd as (type number meta [Documentation.FieldCaption = "结束年份,日期表至结束年份12月31日止。
",Documentation.FieldDescription = "日期表至结束年份12月31日止",Documentation.SampleValues = { Date.Year( DateTime.LocalNow( ) ) } // Current Year]),optional CalendarFirstDayOfWeek as (type text meta [Documentation.FieldCaption = "定义一周开始日,从 Monday,Tuesday,Wednesday,Thursday,Friday, Documentation.FieldDescription = "从 Monday,Tuesday,Wednesday,Thursday,Friday,Saturday, Documentation.SampleValues = { "Monday" }]),optional CalendarCulture as (type text meta [Documentation.FieldCaption = "指定日期表显示月以及星期几的名称是中文或英文,en 表示英文,zh 表示中 Documentation.FieldDescription = " en 表示英文,zh 表示中文,缺省默认与系统一致。
PowerBI技巧之函数 DATESMTD_QTD_YTD
函数周期表丨时间智能丨表丨 DATESMTD/QTD/YTDDATESMTD函数/DATESQTD函数/DATESYTD函数DATESMTD函数,DATESQTD函数与DATESYTD函数三者都隶属于“时间智能函数”,属于“表”函数。
因为三者的用途、语法结构基本上是类似的,白茶决定一起打包带走。
用途1:用于返回一张表,表中的日期列分别是月份至今、季度至今、年度至今。
用途2:可以用来计算累计值。
月份累计,季度累计,年度累计。
语法语法1:月累计语法=DATESMTD(<日期>)语法2:季度累计语法=DATESQTD(<>)日期语法3:年度累计语法=DATESYTD(<>,<可选项>)日期参数日期:三者最基本的参数都是第一参数,只有年度累计有第二参数。
第一参数可以是固定的日期列,也可以是日期的表达式。
可选项:这个选项只有年度累计才有,可以用来定义截止日期,默认不填为12月31日。
返回结果单列日期表。
示例示例文件:这是白茶随机模拟的数据。
例子1:DATESMTD基本用法 = DATESMTD ( '示例'[日期] )结果:因为数据原因,最大月份为2月,所以返回结果为默认2月1日至最大日期。
例子2:DATESQTD 基本用法 =DATESQTD ( '示例'[日期] )结果:返回本季度截止到最新日期2月11日的数据。
原理同上。
例子3:DATESYTD 基本用法 =DATESYTD ( '示例'[日期] )结果:默认不填第二参数,返回值结果为本年度第一天截止到最大日期的结果。
例子4:DATESYTD 基本用法2 =DATESYTD ( '示例'[日期], "2-10" )结果:因为第二参数白茶定义了截止日期是2月10日,那么本年度的初始日期即为2月11日,所以返回结果为从2月11日到次年2月10日的所有日期数据。
33个时间智能函数PowerBI星球
33个时间智能函数PowerBI星球时间可以说是数据分析中最常用的独立变量,工作中也常常会遇到对时间数据的对比分析。
假设要计算上年同期的销量,在PowerBI 中可以用CALCULATE来写个度量值[上年同期],= CALCULATE([数量],SAMEPERIODLASTYEAR('日期表'[日期]))这里SAMEPERIODLASTYEAR就是时间智能函数。
时间智能函数和普通函数的区别时间智能函数与普通的时间或者日期函数的区别是,▪日期函数直接依赖当前行上下文,一般作为新建列使用,比如YEAR函数,提取日期列的年度;▪时间智能函数会重置上下文,一般新建度量值时使用,可以快速移动到指定区间时间智能函数有哪些在PowerBI中,目前共有33个时间智能函数,列表如下:看起来好像很多,很难记,其实都是用很直白的英文表达,函数名的意思就是这个函数的功能,有些函数都包括几个粒度,比如PREVIOUSYEAR/QUARTER/MONTH/DAY,上一年/季/月/天,还有相反方向的下一年/季/月/天,NEXTYEAR/QUARTER/MONTH/DAY,这8个函数可以看作是一类,上表中排序也是把同一类的函数按顺序放到了一起,这样看下来并没有几种。
根据这些时间智能函数计算的结果,我把时间智能函数分为以下两类:▪返回期间的时间智能函数▪返回期间并执行运算的时间智能函数返回期间的时间智能函数前24个函数都属于这种,其中前20个时间智能函数都是非常简单的,只需要使用一个日期参数就可以,返回对应的时间期间,一般结合CALCULATE使用,比如本文开头的SAMEPERIODLASTYEAR看起来很长,其实非常简单,从函数名称可以看出它是干什么的:上年同期。
第21至24,DATEADD、DATEBETWEEN、DATESINPERIOD 、PARALLELPERIOD ,这4个函数相对复杂一点,但也就是参数多了两个而已,一般用于相对时间区间的控制,请看下图中对这4个函数的介绍。
PowerBI技巧之函数周期表丨时间丨值丨 DATEDIFF
函数周期表丨时间丨值丨 DATEDIFFDATEDIFF函数语法=DATEDIFF(<开始日期>, <结束日期>, <间隔单位>)DATEDIFF函数属于“值函数”之一。
可能很多小伙伴平常并没有注意到这个函数,但是这却是一个很有用的函数。
假如:一个事实表,有两个日期列,分别代表下单日期,出货日期,我想知道这期间的时间间隔,用DATEDIFF函数就可以轻松搞定。
参数第一参数:开始日期。
一个返回具体日期的表达式,或者标量值。
如果返回结果是多个的话,在没有进行处理的情况下这个函数返回结果会有误差。
第二参数:结束日期。
一个返回具体日期的表达式,或者标量值。
如果返回结果是多个的话,在没有进行处理的情况下这个函数返回结果会有误差。
需要注意:结束日期不能大于开始日期,否则返回错误。
第三参数:间隔单位,说白了就是你想求两个日期是差了多少天、几个月、几个季度、多少个小时等等。
可选项有:SECOND(秒),MINUTE(分钟),HOUR(小时),DAY(天),WEEK(周),MONTH(月),QUARTER(季度),YEAR(年)。
返回结果一个标量值,一组时间间隔的数字。
应用例子输入以下日期作为示范:DATEDIFF函数 =CALENDAR ( DATE ( 2018, 11, 1 ), DATE ( 2019, 11, 15 ) )白茶决定使用这组日期作为DATEDIFF 函数的示例。
示例1:DATEDIFF 示例1—DAY 选项 =DATEDIFF ( MIN ( 'DATEDIFF 函数'[Date] ), MAX ( 'DATEDIFF 函数'[Date] ), DAY )结果如下:两个日期间隔天数为379天。
示例2:DATEDIFF示例2—HOUR选项 =DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), HOUR )结果如下:两个日期间隔小时为379*24=9096个小时。
PowerBuilder常用日期时间函数
PowerB uilde r常用日期时间函数PowerBuilde r常用日期时间函数2011-01-12 21:57Toda y():功能得到当前系统日期,在某些情况下,同时得到当前系统时间。
返回值:Date。
该函数返回当前系统日期。
用法:单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Toda y()函数的返回值类型为Da te,在该函数用做某些函数的参数、而该参数要求DateT ime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。
再如,Today()函数作为数据窗口控件S etIte m()函数的参数,该函数参数中指定的数据窗口列的数据类型为D a teTime,那么当前系统日期和时间将同时设置到数据窗口指定项中。
-------------------------------------------------------Now():功能得到客户机的当前系统时间,返回值为Time类型。
-------------------------------------------------------Year(date):功能得到日期值中的年度(有效取值1000到3000)。
参数date:date类型的值,返回值:Intege r。
函数执行成功时得到da te参数中的年份(采用四位数字),发生错误时返回1900。
用法:当应用程序把有两位数字表示年份的字符串转换成日期时,P owerBuilde r根据下述规则选择世纪:如果年份值在00到49之间,PowerBuild e r将年份中的世纪(前两位数字)当作20;如果年份值在50到99之间,PowerBuilde r将年份中的世纪(前两位数字)当作19。
PowerBuilder函数详解
PowerBuilder函数详解LowerBound()功能:得到指定数组第n维的下界语法:LowerBound ( array {, n } )参数array:数组名n:数值类型,可选项,指定要得到数组哪一维的下界。
缺省值为1返回值Long。
函数执行成功时返回array数组第n维的下界。
如果n的值超过了指定数组的最大维数,那么该函数返回-1。
如果任何参数的值为NULL,LowerBound()函数返回NULL。
UpperBound()功能:得到指定数组第n维的上界。
语法:UpperBound( array {, n } )参数array:数组名n:数值类型,可选项,指定要得到数组哪一维的上界。
缺省值为1返回值Long。
函数执行成功时返回array数组第n维的上界。
如果n的值超过了指定数组的最大维数,那么该函数返回-1。
如果任何参数的值为NULL,UpperBound()函数返回NULL。
Blob()功能:将字符串转换成Blob类型数据。
语法:Blob ( text )参数text:string类型,指定要转换的数据返回值Blob。
函数执行成功时返回转换后的Blob类型数据;如果text参数的值为NULL,则Blob()函数返回NULL。
BlobEdit()功能:将任意类型的数据插入到Blob类型变量的指定位置。
语法:BlobEdit ( blobvariable, n, data )参数blobvariable:Blob类型的已初始化变量,将向该变量中插入数据n:指定插入位置,有效值在1到4,294,967,295之间data:要插入到Blob类型变量中的数据,其数据类型可以是任何有效的PowerBuilder数据类型返回值Unsigned long。
函数执行成功时返回下次可以插入数据的位置;如果blobvariable变量中空间不够或任何参数的值为NULL,则BlobEdit()函数返回NULL。
PowerBuilder常用日期时间函数
PowerBuilder常用日期时间函数PowerBuilder常用日期时间函数2011-01-12 21:57Today():功能得到当前系统日期,在某些情况下,同时得到当前系统时间。
返回值:Date。
该函数返回当前系统日期。
用法:单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Today()函数的返回值类型为Date,在该函数用做某些函数的参数、而该参数要求DateTime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。
再如,Today()函数作为数据窗口控件SetItem()函数的参数,该函数参数中指定的数据窗口列的数据类型为DateTime,那么当前系统日期和时间将同时设置到数据窗口指定项中。
-------------------------------------------------------Now():功能得到客户机的当前系统时间,返回值为Time类型。
-------------------------------------------------------Year(date):功能得到日期值中的年度(有效取值1000到3000)。
参数date:date类型的值,返回值:Integer。
函数执行成功时得到date参数中的年份(采用四位数字),发生错误时返回1900。
用法:当应用程序把有两位数字表示年份的字符串转换成日期时,PowerBuilder根据下述规则选择世纪:如果年份值在00到49之间,PowerBuilder 将年份中的世纪(前两位数字)当作20;如果年份值在50到99之间,PowerBuilder将年份中的世纪(前两位数字)当作19。
比如,字符串"20-10-25"被PowerBuilder转换为2020-10-25;字符串"98-10-25"被PowerBuilder转换为1998-10-25。
PowerBuilder函数详解(中)
PowerBuilder 函数详解 中) 函数详解(中作者 佚名来源 技术文章总汇发布时间 2005-07-13浏览次数2971字体 大 中 小内容摘要 在这里把 PowerBuilder 各个版本的基本函数整理一下,奉献给大家,希望能在编程过程中起 到帮助!系统与环境函数•Clipboard() 功能提取或替换 Windows 系统剪贴板的文本内容。
语法 Clipboard ( { string } ) 参数 string:string 类型,可选项,指定要复制到系统剪贴板上的文本。
如果剪贴板上已有内容 的话,该文本将取代剪贴板的当前内容返回值 String。
函数执行成功时,如果剪贴板上包含文 本数据,那么函数返回剪贴板的当前内容;如果剪贴板上包含非文本数据(比如位图)或不包 含任何数据,那么函数返回空字符串("")。
如果 string 参数的值为 NULL,Clipboard()函数返 回 NULL。
用法无论是否指定 string 参数, Clipboard()都将返回剪贴板的当前内容。
当指定 string 参数时,剪贴板的原有内容被 string 参数的值取代;省略 string 参数时,仅仅得到剪贴板的内 容。
•CommandParm() 功能得到应用程序运行时指定的命令参数。
语法 CommandParm ( ) 返回值 String。
函数执行成功时返回应用程序运行时的命令行参数,函数执行错误或没有命令 行参数时函数返回空字符串("")。
用法命令行参数是应用程序启动时跟在应用程序名称后面的 任何参数,比如,在运行窗口中输入了下述命令:MyAppl C:EMPLOYEEEMPLIST.TXT 那么 MyAppl 应用程序中使用 CommandParm()函数得到的命令行参数为: C:EMPLOYEEEMPLIST.TXT 当应用程序的命令行中包含几个参数时,CommandParm()函数 作为一个字符串返回所有参数。
PowerBI日期时间函数汇总(基础篇)
PowerBI⽇期时间函数汇总(基础篇) ⽆论是在Excel⾥还是PowerBI⾥⽇期和时间函数都起着⾄关重要的作⽤,因为不管在那个⾏业的数据都离不开时间和⽇期。
Excel和PowerBI⾥有很多时间⽇期函数⽆论是长相还是⽤法都基本⼀样,当然也有不⼀样的,下⾯就对时间⽇期函数做⼀个汇总。
1、 DATE 将3个参数组成的数组转化为⼀个⽇期 语法:DATE(年,⽉,⽇) 案例:DATE(2021,6,24)=2021/6/24 0:00:00 注意:当年份在 0-99 之间,DATE 返回的年份会此在基础上⾃动加上 1900。
超过 99,直接将值⽤作年份。
⽉份超过12时会⾃动进位到年上。
⽇超过当⽉最后⽇期时会⾃动进位到⽉上。
最后只需将返回的结果改成⽇期格式即可。
2、 DATEVALUE 将⽂本格式的⽇期转化成真正的⽇期 语法:DATEVALUE(“⽂本数字串”) 案例:DATEVALUE("2020-6-24")=2021/6/24 注意:当⽂本内容不在⽇期范围内则会报错,例如:DATEVALUE("2020-6-32")就会报错,因为6⽉不可能有32号。
3、 EDATE 返回按指定⽉数平移后的⽇期 语法:EDATE(⽇期,指定⽉数) 案例:EDATE(DATE(2021,6,24),2)=2021/8/24 注意:如果指定⽉数的没有当⽉⽇期,则显⽰指定⽉数的最后⽇期。
例如EDATE(DATE(2021,1,30),1)=2021/2/28,因为2021年2⽉份最多只有28⽇,所以返回2021年2⽉28⽇。
4、 TODAY 返回输⼊该函数时的年⽉⽇ 语法:TODAY() 案例:TODAY()=2021/6/245、 NOW 返回输⼊该函数时的年⽉⽇时分秒 语法:NOW() 案例:NOW()=2021/6/24 21:33:126、 EOMONTH 返回指定⽉数平移后的⽉份的最后⼀天 语法:EOMONTH(⽇期,指定⽉数) 案例:EOMONTH(DATE(2021,6,24),2)=2021/8/317、 TIME 将3个参数组成的数组返回⼀个时间 语法:TIME(时,分,秒) 案例:TIME(21,40,30)=1899/12/30 21:40:30 注意:当时分秒超过60的时候,会⾃动往前进位。
