日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

同比 数据模型 环比_历史数据模型解决方案-历史数据模型解决方案

發布時間:2024/7/23 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 同比 数据模型 环比_历史数据模型解决方案-历史数据模型解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方案介紹

針對上面介紹常規實現方案的弊端,本文從數據結構設計入手提出了“歷史數據模型”解決方案。在物理表設計階段針對這類報表問題進行特殊處理,物理表數據結構設計如下:

字段

描述

Id

ID

Project

項目

Amount

本月投資額

TotalAmount

累計投資額(截止本期)

Year

年份

Month

月份

增加了TotalAmount字段記錄截止本月的累計投資額

注意:填報表設計時,該累計投資額為上個月的累計投資額+本月投資額,在填報表填報數據時自動計算得出并提交時回填至TotalAmount字段)

基于上面的數據結構,報表相關設計工作變得輕松簡單:

數據集設計:project_info: select * from project_info1 where year=?year and month=?mount

其中year為動態參數,表達式為:year(now());month為動態參數,表達式為:month(now())

報表設計:

A2:顯示項目信息,表達式:= project_info Select(PROJECT)

B2:顯示當月投資額,表達式:= project_info .amount

C2:顯示累計投資額,表達式:project_info.totalamount

D2:計算累計占比,表達式:=B2/C2

解決方案優勢:

1.?增加 “累計投資”字段,每次查詢直接讀上個月的“累計投資”,無需根據項目進行統計運算,效率更高。

2.?首次填寫沒有歷史數據的情況,可以手動直接輸入“累計投資”,當下個月的再次填寫時,累計投資就是上月的累計投資+本月投資,有效解決沒有歷史數據的難題。

3.?由于數據表結構和報表展現的數據形式一致,報表設計工作可按照常規的列表式報表設計即可,大大簡化報表設計工作。

更多應用

上面以“累計值”為例介紹了“歷史數據模型”的應用,該方案可引申應用于其他類似的報表問題中。

比如:

1.同比環比問題

表樣如下:

項目

本月投資

上月投資

去年同期投資

***

****

采用“歷史數據模型”,可設計數據結構如下:

字段

描述

Id

ID

Project

項目

Amount

本月投資額

PriorAmount

上月投資額

LastAmount

去年同期投資額

Year

年份

Month

月份

采用這樣的數據結構設計,簡單的sql查詢就可以得出上月值和去年同期值,不用逐次查詢上個月的值和去年相同月份的值。

2.多樣化的累計問題

表樣如下:

項目

本月投資

年度累計投資

季度累計投資

總累計投資

***

****

采用“歷史數據模型”,可設計數據結構如下:

字段

描述

Id

ID

Project

項目

Amount

本月投資額

YearAmount

上月投資額

LastYearAmount

去年同期投資額

TotalAmount

總累計投資額

Year

年份

Month

月份

采用這樣的數據結構設計,簡單的sql查詢就可以得出多種累計值,不用逐次查詢和計算去年的投資額合計,本年的投資額合計和總的投資額合計。

注意:歷史數據模型并非使用于所有的應用場景,一般在涉及周期性數據記錄的歷史數據獲取的情況下(比如以年、月、周、日報中的同比、環比、累計運算)才會用到,建議用戶評估報表需求和應用場景,合理使用該模型進行數據結構設計!

總結

以上是生活随笔為你收集整理的同比 数据模型 环比_历史数据模型解决方案-历史数据模型解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。