根据年初至今上个月的值 SSRS 计算年初至今的平均值

发布于 2025-01-12 01:01:55 字数 1097 浏览 1 评论 0原文

这看起来有点难看,因为我知道这是某种数学问题,而且我不擅长解决数学问题,特别是当我要将其实现到 SSRS 代码时。所以我需要一些指导。

我想计算年初至今数据的平均值。表中说明:

本月本月YTD(上个月)YTD
Jan 20221--
Feb 202221 (从本月 2022 年 1 月起)1.5 (本月和 YTD 上个月的平均值)
Mar 202221.5 (从 2022 年 2 月 YTD 起)1.75 (本月和上个月年初至今的平均值)

从这里开始,我仍然无法找到适合此问题的解决方案。如何从当前 YTD 上个月值报告的上个月计算中获取 YTD。因为我的 Tablix 没有像我上面创建的插图表那样显示。我的报告如下所示:

IndicatorThis MonthYTD (Prev Month)YTD
A121.5
B222
C21.51.75

我使用参数根据所选月份过滤数据。如何计算上个月的平均值,然后我可以使用该值作为当月数据报告的YTD(上个月)

如果我的解释不够清楚,请告诉我。

先感谢您。

This seems a bit ugly bcs I know this some kind of math problems and I am no good in solving math problems specially when I'm going to implement this to SSRS code. So I need some guidance.

I want to calculate an Average for my YTD data. Illustration in table :

MonthThis MonthYTD (Prev Month)YTD
Jan 20221--
Feb 202221 (From this month Jan 2022)1.5 (Average from this month and YTD PrevMonth)
Mar 202221.5 (From Feb 2022 YTD)1.75 (Average from this month and YTD PrevMonth)

From here, I still can't find a suitable solution for this problems. How can I get the YTD from previous month calculation for the current YTD Prev Month value report. Because my Tablix didn't show like the illustration table I create above. My report looks like this :

IndicatorThis MonthYTD (Prev Month)YTD
A121.5
B222
C21.51.75

I use a parameter to filter the data based on the selected month. How do I calculate the average from previous month then I can use that value for YTD (Prev Month) for today month data report ?

Let me know if my explanation not clear enough.

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱*していゐ 2025-01-19 01:01:55

该解决方案基于图像中的计算。

您可以使用自定义代码来存储上个月的年初至今

将以下代码添加到您的报告中(平均值将从第一个非零月份开始计算)

Public Dim previous_ytd As Decimal = 0

Public Function PrevYTD( v1 As Decimal  ) As Decimal

If previous_ytd =0
previous_ytd = v1
Else
previous_ytd = (v1+previous_ytd)/2
End If

Return previous_ytd

End Function

对于您的 YTD(上个月)表达式使用

= Code.previous_ytd

对于您的 YTD 表达式使用(更改字段名称)匹配您自己的)

= Code.PrevYTD(Fields!value.Value) 

在此处输入图像描述

在此处输入图像描述

The solution is based on calculations in your images.

You can use custom code to store the ytd of previous month

Add the following code to your report (average will start calculating from the first non zero month)

Public Dim previous_ytd As Decimal = 0

Public Function PrevYTD( v1 As Decimal  ) As Decimal

If previous_ytd =0
previous_ytd = v1
Else
previous_ytd = (v1+previous_ytd)/2
End If

Return previous_ytd

End Function

For your YTD (previous month) expression use

= Code.previous_ytd

For your YTD expression use (change the field name to match your own)

= Code.PrevYTD(Fields!value.Value) 

enter image description here

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文