QlikSense财务聚合函数:IRR/NPV/XIRR/XNPV

IRR - 脚本函数

IRR() 函数用于返回聚合内部回报率,以揭示迭代于 group by 子句定义的大量记录上的表达式的数值表示的现金流系列。

这些现金流不必是均值,因为它们可用于年金。但是,现金流必须定期出现,例如每月或每年。内部收益率由定期发生的付款(负值)和收入(正值)构成的投资回报率决定。计算此函数至少需要一个正值和一个负值。

该函数使用牛顿法的简化版本来计算内部回报率 (IRR)。

语法:  

IRR(value)

返回数据类型: 数字

参数:  

参数
参数说明
value表达式或字段包含要度量的数据。

限制:  

文本值,NULL 值和缺失值都忽略不计。

示例和结果:  

将示例脚本添加到应用程序并运行。要查看结果,将结果列中列出的字段添加到应用程序中的工作表。

示例和结果:  

示例和结果
示例IRR2013

Cashflow:

LOAD 2013 as Year, * inline [

Date|Discount|Payments

2013-01-01|0.1|-10000

2013-03-01|0.1|3000

2013-10-30|0.1|4200

2014-02-01|0.2|6800

] (delimiter is '|');

Cashflow1:

LOAD Year,IRR(Payments) as IRR2013 Resident Cashflow Group By Year;

2013

0.1634

NPV - 脚本函数

NPV() 脚本函数接受折扣率和按期间排序的多个值。在这些计算中,流入(收入)为正值,流出(未来付款)为负值。这些发生在每个周期结束时。

净现值 (NPV) 用于计算未来现金流的当前总价值。为了计算净现值,我们需要估计每个期间的未来现金流,并确定正确的贴现率。NPV() 脚本函数接受贴现率和按期间排序的多个值。在这些计算中,流入(收入)为正值,流出(未来付款)为负值。这些发生在每个周期结束时。

语法:  

NPV(discount_rate, value)

返回数据类型: 数字。 默认情况下,结果将被格式化为货币。

净现值的计算公式为:

 

计算净现值的公式。

其中:

  • Rt= 单期净现金流入流出 t

  • i = 替代投资可能获得的贴现率或回报

  • t = 定时器周期数

参数
参数说明
discount_rate

discount_rate 是应用的折扣百分比。

值 0.1 表示 10% 的贴现率。

value

此字段保存按期间排序的多个期间的值。假设第一个值是期间 1 结束时的现金流,依此类推。

限制:  

NPV() 函数具有以下限制:

  • 文本值,NULL 值和缺失值都忽略不计。

  • 现金流量值必须按期间升序排列。

适用场景

NPV() 是一种财务函数,用于检查项目盈利能力并得出其他度量。当现金流可用作原始数据时,此函数非常有用。

区域设置

除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。

应用程序中的默认区域设置基于安装 Qlik Sense 的计算机或服务器的区域系统设置。如果您访问的 Qlik Sense 服务器设置为瑞典,则数据加载编辑器将使用瑞典地区设置的日期、时间和货币。这些区域格式设置与 Qlik Sense 用户界面中显示的语言无关。Qlik Sense 将以与您使用的浏览器相同的语言显示。

示例 1 – 一次性付款(脚本)

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 一个项目及其一个期间的现金流的数据集,该数据集加载到名为 CashFlow 的表中。

  • CashFlow 表中的常驻荷载,用于计算名为 NPV 的表中项目的 NPV 字段。

  • 硬编码贴现率为 10%,用于净现值计算。

  • 用于对项目的所有付款进行分组的 Group By 报表。

加载脚本

CashFlow:
Load
*
Inline 
[	
PrjId,PeriodId,Values
1,1,1000
];NPV:
Load PrjId,NPV(0.1,Values) as NPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • PrjId

  • NPV

结果表
PrjIdNPV
1$909.09

对于在一个周期结束时收到的 1000 美元的单笔付款,在每个周期 10% 的贴现率下,净现值等于 1000 美元除以(1 + 贴现率)。有效净现值等于 909.09 美元

示例 2 – 多次付款(脚本)

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 一个项目及其多个期间的现金流的数据集,该数据集加载到名为 CashFlow 的表中。

  • CashFlow 表中的常驻荷载,用于计算名为 NPV 的表中项目的 NPV 字段。

  • 硬编码贴现率为 10% (0.1),用于净现值计算。

  • 用于对项目的所有付款进行分组的 Group By 报表。

加载脚本

CashFlow:
Load
*
Inline 
[	
PrjId,PeriodId,Values
1,1,1000
1,2,1000
];NPV:
Load PrjId,NPV(0.1,Values) as NPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • PrjId

  • NPV

结果表
PrjIdNPV
1$1735.54

对于在两个周期结束时收到的 1000 美元付款,按每个周期 10% 的贴现率计算,有效净现值等于 1735.54 美元。

示例 3 – 多次付款(脚本)

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 两个项目的贴现率,它被加载到名为 Project 的表中。

  • 按项目 ID 和期间 ID 列出每个项目的多个期间的现金流。如果数据未排序,则可以使用此期间 ID 对记录进行排序。

  • NoConcatenate、常驻加载和 Left Join 函数的组合用于创建临时表 tmpNPV。该表将 Project 和 CashFlow 表的记录合并为一个平面表。此表将重复每个期间的贴现率。

  • tmpNPV 表中的常驻荷载,用于计算名为 NPV 的表中每个项目的 NPV 字段。

  • 与每个项目关联的单个值贴现率。这是使用 only() 函数检索的,并用于每个项目的净现值计算。

  • 一个 Group By 语句,用于按项目 ID 对每个项目的所有付款进行分组。

为了避免将任何合成或冗余数据加载到数据模型中,将在脚本末尾删除 tmpNPV 表。

加载脚本

Project:
Load * inline [
PrjId,Discount_Rate
1,0.1
2,0.15
];CashFlow:
Load
*
Inline 
[	
PrjId,PeriodId,Values
1,1,1000
1,2,1000
1,3,1000
2,1,500
2,2,500
2,3,1000
2,4,1000
];tmpNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load * 
Resident CashFlow;NPV:
Load PrjId,NPV(Only(Discount_Rate),Values) as NPV //Discount Rate will be 10% for Project 1 and 15% for Project 2
Resident tmpNPV
Group By PrjId;Drop table tmpNPV;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • PrjId

  • NPV

结果表
PrjIdNPV
1$2486.85
2$2042.12

项目 ID 1 预计在三个周期结束时收到 1000 美元的付款,每个周期的贴现率为 10%。因此,有效净现值等于 2486.85 美元。

项目 ID 2 预计在四个时期内以 15% 的贴现率支付两次 500 美元的付款和另外两次 1000 美元的付款。因此,有效净现值等于 2042.12 美元。

示例 4 – 项目盈利能力示例(脚本)

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 两个项目的贴现率和初始投资(期间 0),加载到名为 Project 的表中。

  • 按项目 ID 和期间 ID 列出每个项目的多个期间的现金流。如果数据未排序,则可以使用此期间 ID 对记录进行排序。

  • NoConcatenate、常驻加载和 Left Join 函数的组合用于创建临时表 tmpNPV。该表将 Project 和 CashFlow 表的记录合并为一个平面表。此表将重复每个期间的贴现率。

  • 与每个项目相关的单值贴现率,使用 only() 函数检索,并用于每个项目的净现值计算。

  • tmpNPV 表中的常驻负载用于计算名为 NPV 的表中每个项目的 NPV 字段。

  • 创建一个额外字段,将净现值除以每个项目的初始投资,以计算项目盈利能力指数。

  • 按项目 ID 分组的 group-by 语句用于对每个项目的所有付款进行分组。

为了避免将任何合成或冗余数据加载到数据模型中,将在脚本末尾删除 tmpNPV 表。

加载脚本

Project:
Load * inline [
PrjId,Discount_Rate, Initial_Investment
1,0.1,100000
2,0.15,100000
];CashFlow:
Load
*
Inline 
[	
PrjId,PeriodId,Values,
1,1,35000
1,2,35000
1,3,35000
2,1,30000
2,2,40000
2,3,50000
2,4,60000
];tmpNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load * 
Resident CashFlow;NPV:
LoadPrjId,NPV(Only(Discount_Rate),Values) as NPV, //Discount Rate will be 10% for Project 1 and 15% for Project 2NPV(Only(Discount_Rate),Values)/ Only(Initial_Investment) as Profitability_Index
Resident tmpNPV
Group By PrjId;Drop table tmpNPV;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • PrjId

  • NPV

创建以下度量:

=only(Profitability_Index)

结果表
PrjIdNPV=only(Profitability_Index)
1$87039.820.87
2$123513.711.24

项目 ID 1 的有效净现值为 87039.82 美元,初始投资为 100000 美元。因此,盈利能力指数等于 0.87。因为它小于 1,所以该项目不盈利。

项目 ID 2 的有效净现值为 123513.71 美元,初始投资为 100000 美元。因此,盈利能力指数等于 1.24。因为它大于 1,所以项目是有利可图的。

 

XIRR - 脚本函数

XIRR() 函数用于返回聚合内部回报率(每年),以揭示迭代于 group by 子句定义的大量记录上的 pmt 和 date 表达式的成对数值表示的现金流时间表(不必为周期性的)。 所有付款按 365 天一年年折扣。

Qlik 的 XIRR 函数(XIRR() 和 RangeXIRR() 函数)使用以下方程来求解 Rate 值,以确定正确的 XIRR 值:

XNPV(Rate, pmt, date) = 0

这个方程是用简化版的牛顿法求解的。

语法:  

XIRR(pmt, date )

返回数据类型: 数字

参数
参数说明
pmt

付款。表达式或字段包含与在 date 中指定的付款时间表对应的现金流。

date表达式或字段包含与在 pmt 中指定的现金流支付对应的日期时间表。

使用此功能时,以下限制适用:

  • 数据对的任意部分或两部分内存在文本值、NULL 值和缺失值会导致整个数据对被忽略。

  • 此函数需要至少一个有效的负付款和至少一个无效的正付款(具有相应的有效日期)。如果没有提供这些付款,则会返回 NULL 值。

这些主题可以帮助您使用此函数:

  • XNPV - 脚本函数:使用此函数可以计算现金流表的聚合净现值。

  • RangeXIRR - 脚本和图表函数:RangeXIRR() 是 XIRR() 函数的等效范围函数。

信息注释

在 Qlik Sense 客户端托管 的不同版本中,此函数使用的底层算法存在差异。有关算法最近更新的更多信息,请参阅支持文章,请参阅支持文章 XIRR 函数修复和更新。

示例

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 一系列现金流的交易数据。

  • 使用 XIRR() 函数来计算这些现金流的内部年回报率。

加载脚本

Cashflow:
LOAD 2013 as Year, * inline [
Date|Payments
2013-01-01|-10000
2013-03-01|3000
2013-10-30|4200
2014-02-01|6800
] (delimiter is '|');Cashflow1:
LOAD Year,XIRR(Payments, Date) as XIRR2013  Resident Cashflow Group By Year;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • Year

  • XIRR2013

结果表
XIRR2013
20130.5385

解释 XIRR 返回值

XIRR 功能通常用于分析一项投资,其中一开始有一笔向外(负)付款,然后是一系列较小的收入(正)付款。以下是一个简化的例子,只有一个负付款和一个正付款:

Cashflow:

LOAD * inline [

Date|Payments

2023-01-01|-100

2024-01-01|110

] (delimiter is '|');

我们首付 100,一年后收回 110。这意味着每年 10% 的回报率。XIRR(Payments, Date) 返回值 0.1。

XIRR 功能的返回值可以为正,也可以为负。对于投资而言,为负的结果表明投资是亏损的。收益或损失的金额可以直接通过在支付字段上进行求和聚合来计算。

在上面的例子中,我们将贷款一年。回报率可以被认为是利息。当你是交易的另一方时(例如,如果你是借款人而不是贷款人),也可以使用 XIRR 的功能。

考虑以下示例:

Cashflow:

LOAD * inline [

Date|Payments

2023-01-01|100

2024-01-01|-110

] (delimiter is '|');

这与第一个示例相同,但进行了反向处理。在这里,我们借入 100,为期一年,并以 10% 的利息偿还。在这个例子中,XIRR 计算返回 0.1 (10%),与第一个例子的值相同。

请注意,在第一个示例中,我们获得了 10 的利润,在第二个示例中我们遇到了 10 的损失,但对于这两个示例,XIRR 功能的返回值都为正。这是因为 XIRR 功能计算交易中隐藏的利息,而不考虑您在交易中处于哪一方。

对于多个解的限制

Qlik 的 XIRR 函数由以下等式定义,在其中求解 Rate 值:

XNPV(Rate, pmt, date) = 0

这个方程有时可能有不止一个解。这被称为“多个 IRR 问题”,由非正常现金流(也称为非常规现金流)引起。以下加载脚本显示了与此相关的一个示例:

Cashflow:

LOAD * inline [

Date|Payments

2021-01-01|-200

2022-01-01|500

2023-01-01|-250

] (delimiter is '|');

在这个例子中,有一个负解和一个正解(Rate = -0.3 和 Rate = 0.8)。XIRR() 将返回 0.8。

当的 Qlik 的 XIRR 功能搜索解时,它从 Rate = 0 开始,并逐步增加速率,直至找到解。如果有一个以上的正解,它将返回遇到的第一个解。如果它找不到正解,它会将 Rate 重置为零,并开始在负方向上寻找解。

请注意保证“正常”现金流,以便只有一个解。“正常”现金流意味着所有具有相同符号(正或负)的付款都在一个连续组中。

XNPV - 脚本函数

XNPV() 函数用于返回聚合净现值,以揭示 pmt 和 date 表达式的成对数值表示的现金流时间表(不必为周期性的)。 所有付款按 365 天一年年折扣。

语法:  

XNPV(discount_rate, pmt, date)

返回数据类型: 数字

信息注释默认情况下,结果将被格式化为货币。

计算 XNPV 的公式如下所示:

XNPV 聚合公式

XNPV 脚本函数的公式图像。

其中:

  • Pi= 单期净现金流入流出 i

  • d1= 第一次付款日期

  • di = 第 i 次付款日期

  • rate = 贴现率

净现值 (NPV) 用于在给定折扣率的情况下计算未来现金流的当前总价值。要计算 XNPV,我们需要估计具有相应日期的未来现金流。在此之后,对于每次付款,我们将根据付款日期采用复合折扣率。

对一系列付款执行 XNPV 聚合类似于对这些付款执行求和聚合。不同之处在于,每个金额都会根据所选的折扣率(类似于利率)和未来付款的时间进行修改(或“打折扣”)。在 discount_rate 参数设置为零的情况下执行 XNPV 将使 XNPV 等效于求和操作(在求和之前不会修改付款)。一般而言,discount_rate 设置得越接近零,XNPV 结果就越类似于求和聚合的结果。

参数
参数说明
discount_rate

discount_rate 是付款折扣时依据的年费率。

值 0.1 表示 10% 的贴现率。

pmt

付款。表达式或字段包含与在 date 中指定的付款时间表对应的现金流。 正值被假定为流入,负值被假定为流出。

信息注释XNPV() 不会对初始现金流进行折扣,因为它总是在开始日期发生。后续付款按 365 天的年折扣。这与第一笔付款也打折的 NPV() 不同。

date

表达式或字段包含与在 pmt 中指定的现金流支付对应的日期时间表。 第一个值用作计算未来现金流抵销的开始日期。

使用此功能时,以下限制适用:

  • 数据对任意部分或两部分中的文本值,NULL 值和缺失值在整个数据对中忽略不计。

适用场景

  • XNPV() 用于计算投资机会的净现值 (NPV)。
  • 由于其较高的精度,XNPV 比 NPV 更适合所有类型的金融模型。

区域设置

除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。

应用程序中的默认区域设置基于安装 Qlik Sense 的计算机或服务器的区域系统设置。如果您访问的 Qlik Sense 服务器设置为瑞典,则数据加载编辑器将使用瑞典地区设置的日期、时间和货币。这些区域格式设置与 Qlik Sense 用户界面中显示的语言无关。Qlik Sense 将以与您使用的浏览器相同的语言显示。

示例 1 – 一次性付款(脚本)

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 一个项目及其一年现金流的数据集,位于名为 CashFlow 的表中。计算的初始日期为 2022 年 7 月 1 日,净现金流为 0。一年后,现金流为 1000 美元。

  • CashFlow 表中的常驻荷载,用于计算名为 XNPV 的表中项目的 XNPV 字段。

  • 硬编码贴现率为 10% (0.1),用于 XNPV 计算。

  • 用于对项目的所有付款进行分组的 Group By 报告。

加载脚本

CashFlow:
Load
*
Inline 
[	
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2023',1000
];XNPV:
Load PrjId,XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • PrjId

  • XNPV

结果表
PrjIdXNPV
1$909.09

根据公式,第一条记录的 XNPV 值为 0,第二条记录的 XNPV 值是 909.09 美元。因此,总 XNPV 是 909.09 美元。

示例 2 – 多次付款(脚本)

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 一个项目及其一年现金流的数据集,位于名为 CashFlow 的表中。

  • CashFlow 表中的常驻荷载,用于计算名为 XNPV 的表中项目的 XNPV 字段。

  • 硬编码贴现率为 10% (0.1),用于 XNPV 计算。

  • 用于对项目的所有付款进行分组的 Group By 报告。

加载脚本

CashFlow:
Load
*
Inline 
[	
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2024',500
1,'07/01/2023',1000
];XNPV:
Load PrjId,XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • PrjId

  • XNPV

结果表
PrjIdXNPV
1$1322.21

在本例中,第一年年底收到 1000 美元的付款,第二年年底收到 500 美元的付款。如果每期贴现率为 10%,有效 XNPV 等于 1322.21 美元。

请注意,只有第一行数据应引用计算基准日期。对于其余的行,顺序并不重要,因为日期参数用于计算经过的期间。

示例 3 – 多次付款和不规则现金流(脚本)

加载脚本和结果

概述

打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。

加载脚本包含:

  • 名为 Project 的表中两个项目的折扣率。

  • 按项目 ID 和日期列出每个项目的多个期间的现金流。Dates 字段用于计算贴现率应用于现金流的持续时间。除了第一条记录(初始现金流和日期)外,记录的顺序并不重要,更改它不应影响计算。

  • 使用 NoConcatenate、Resident Load 和 Left Join 函数的组合,将创建一个临时表 tmpNPV,将 Project 和 CashFlow 表的记录组合在一个平面表中。此表将重复每个现金流的贴现率。

  • tmpNPV 表中的常驻荷载,用于计算名为 XNPV 的表中每个项目的 XNPV 字段。

  • 使用 only() 函数获取与每个项目相关的单值贴现率,并用于每个项目的 XNPV 计算。

  • 按项目 ID 分组的 Group By 语句用于对每个项目的所有付款和相应日期进行分组。

  • 为了避免将任何合成或冗余数据加载到数据模型中,将在脚本末尾删除 tmpXNPV 表。

加载脚本

Project:
Load * inline [
PrjId,Discount_Rate
1,0.1
2,0.15
];CashFlow:
Load
*
Inline 
[	
PrjId,Dates,Values
1,'07/01/2021',0
1,'07/01/2022',1000
1,'07/01/2023',1000
2,'07/01/2020',0
2,'07/01/2023',500
2,'07/01/2024',1000
2,'07/01/2022',500
];tmpXNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load * 
Resident CashFlow;XNPV:
Load PrjId,XNPV(Only(Discount_Rate),Values,Dates) as XNPV //Discount Rate will be 10% for Project 1 and 15% for Project 2
Resident tmpXNPV
Group By PrjId;Drop table tmpXNPV;复制代码到剪贴板

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度:

  • PrjId

  • XNPV

结果表
PrjIdXNPV
1$1735.54
2$278.36

2021 年 7 月 1 日,项目 ID 1 的初始现金流为 0 美元。在随后的两年结束时,将收到两笔 1000美 元的付款,每个期间的贴现率为 10%。因此,有效 XNPV 等于 1735.54 美元。

项目 ID 2 在 2020 年 7 月 1 日的初始流出量为 1000 美元(因此为负号)。两年后,预计将支付 500 美元。3 年后,预计将再支付 500 美元。最后,2024 年 7 月 1 日,预计将支付 1000 美元。贴现率为 15% 时,有效 XNPV 等于 278.36 美元。

 

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

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

相关文章

《合成孔径雷达成像算法与实现》Figure6.12

clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.7; % 距离过采样率 Nrg 320; % 距离线采样数 距离向…

【头歌·计组·自己动手画CPU】三、存储系统设计(HUST)(理论版) 【计算机硬件系统设计】

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎 ❤️关注 👍点赞 🙌收藏 ✍️留言 文章目录 一、课程设计目的二、课程设计内容三、课程设计步骤四、课程设计总结 一、课程设计目的 理解计算机…

猫头虎分享:2024年值得程序员关注的技术发展动向分析

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

HarmonyOS鸿蒙学习基础篇 - Column/Row 组件

前言 Row和Column组件是线性布局容器,用于按照垂直或水平方向排列子组件。Row表示沿水平方向布局的容器,而Column表示沿垂直方向布局的容器。这些容器具有许多属性和方法,可以方便地管理子组件的位置、大小、间距和对齐方式。例如&#xff0c…

从C向C++7——继承

一.继承 1.理解继承 C中的继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承类似,例如儿子继承父亲的财产。 继承可以理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A,那么 B 就…

Codeforces Round 924(Div.2) A~E

A.Rectangle Cutting (模拟) 题意: 给出一个长方形,通过平行于原始矩形的一条边进行切割,将该矩形切割成两个边长为整数的矩形。询问是否能通过旋转和移动这两个矩形,得到新的矩形。 分析: 可以发现拼成的新长方形…

Python算法探索:从经典到现代(三)

一、引言 随着信息技术的飞速发展,数据已经成为现代社会不可或缺的资源。Python,作为数据处理和分析的利器,为我们提供了大量强大的库和工具,用于从经典到现代的各种算法探索。本文将带你领略Python在算法领域的魅力,从…

COW AI接入到微信 保姆教程 (部署在服务器,插件安装)

此文章不涉及国外的AI模型,也无需翻墙,跟某AI模型无关,审核大哥别弄错了 最近的AI开始越开越火了,开始介入到我们生活中的方方面面。就有人好奇AI是否能接入到微信吗?我在GitHub上搜索的时候还真有除了对话外还可以通…

MySQL 基础知识(五)之数据增删改

目录 1 插入数据 2 删除数据 3 更改数据 创建 goods 表 drop table if exists goods; create table goods ( id int(10) primary key auto_increment, name varchar(14) unique, stockdate date )charsetutf8; 1 插入数据 当要插入的数据为日期/时间类型时,如果…

Spring Boot 笔记 021 项目部署

1.1 引入坐标,并双击package打包成jar包 1.2 在服务器上运行jar包 1.3 使用postman测试 2.1 运行配置 2.1.1 命令更改端口 java -jar big-event-1.0-SNAPSHOT.jar --server.port7777 2.1.2 环境变量更新(略) 2.1.3 外部配置文件&#xff0c…

日期类运算符重载以及const成员详细解析

个人主页:点我进入主页 专栏分类:C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂 目录 一.前言 二.运算符重载 2.1概念 2.2比较的符号重载 2.2.1…

ZBX_NOTSUPPORTED: Unsupported item key. 原因排查

进行自定义监控项时,在zabbix-agent端测试没问题,却在zabbix-server进行测试时,出现 ZBX_NOTSUPPORTED: Unsupported item key. 1.在zabbix-agent测试没问题,证明自定义监控项的脚本没问题,却在zabbix-server端测试出…

点击侧边栏菜单时只切换 <router-view> 中的内容,而不是进行整个页面的路由跳转(动态路由)

解决方法&#xff1a;在 <el-menu> 的 select 事件中调用了 handleMenuSelect 方法来处理菜单项的选择。你可以在 handleMenuSelect 方法中根据菜单项的 index 来执行相应的操作&#xff0c;例如更新组件内的数据或者切换组件。由于整个页面的路由路径并没有改变&#xf…

平时积累的FPGA知识点(7)

平时在FPGA群聊等积累的FPGA知识点&#xff0c;第七期&#xff1a; 11 描述扇出的xilinx官方文档是&#xff1f; 解释&#xff1a;ug949 12 在BD中如何指定某个IP用global&#xff0c;其他的用OOC模式&#xff1f;因为某个模块引用的IP带着XPM&#xff0c;综合不了 解释&am…

代码随想录Day50 | 70. 爬楼梯 322. 零钱兑换 279.完全平方数

代码随想录Day50 | 70. 爬楼梯 322. 零钱兑换 279.完全平方数 70.爬楼梯322.零钱兑换279.完全平方数 70.爬楼梯 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a; 状态 dp数组 dp[j]表示爬上第j阶台阶需要的方法数递推公式&#xff0c;由于在每一阶台阶可以向上走1~m阶&a…

代码随想录算法训练营Day57|647. 回文子串、516.最长回文子序列、动态规划总结

目录 647. 回文子串 前言 思路 算法实现 516.最长回文子序列 前言 思路 算法实现 动态规划总结 动规五部曲回顾 动规各小专题问题 647. 回文子串 题目链接 文章链接 前言 本题利用动态规划求解时&#xff0c;dp数组的定义与前面的就有些不同了&#xff0c;是难点之…

随机过程及应用学习笔记(三)几种重要的随机过程

介绍独立过程和独立增量过程。重点介绍两种独立增量过程-—维纳过程和泊松过程。 目录 前言 一、独立过程和独立增量过程 1、独立过程&#xff08;Independent Process&#xff09; 2、独立增量过程&#xff08;Independent Increment Process&#xff09; 二、正态过程&am…

debug - 打补丁 - 浮点数加法

文章目录 debug - 打补丁 - 浮点数加法概述笔记demo用CE查看汇编(x64debug)main()update_info()快捷键 - CE中查看代码时的导航打补丁的时机 - 浮点数加法补丁代码补丁效果浮点数寄存器组的保存END debug - 打补丁 - 浮点数加法 概述 在cm中, UI上显示的数值仅仅用来显示, 改…

力扣---通配符匹配

题目描述&#xff1a; 给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。 * 可以匹配任意字符序列&#xff08;包括空字符序列&#xff09;。 判定匹配成功的充要条件是&#xff…

华为23年9月笔试原题,巨详细题解,附有LeetCode测试链接

文章目录 前言思路主要思路关于f函数的剖析Code就到这&#xff0c;铁子们下期见&#xff01;&#xff01;&#xff01;&#xff01; 前言 铁子们好啊&#xff01;今天阿辉又给大家来更新新一道好题&#xff0c;下面链接是23年9月27的华为笔试原题&#xff0c;LeetCode上面的ha…