發表文章

目前顯示的是 2022的文章

Blazor 發行後用戶端自動更新

圖片
  前言 目前 Blazor 改版發行後,用戶端可能會繼續操作上一版的程式,直到網頁重新整理才能取得新版本程式,由於無法逐一通知使用者改版,最好能自動偵測改版並自動更新。這功能或許未來 Blazor 核心即可解決,在那之前自己先動手改善。 [ Blazor Auto Refresh Update ] 範例提供以下三種 Blazor 型態發行新版程式時,瀏覽器(用戶端)可以自動重新整理網址取得新版程式。 Blazor Server App Blazor WebAssembly App Blazor WebAssembly App + PWA 主要是參考 Blazor Train 教學影片 [ Handling App Updates: Carl Franklin's Blazor Train Ep 60 ], 將 .NET 5.0 改版為 .NET 6.0,另外 PWA 專案中增加一個訊息畫面。 開發環境 Visual Studio 2022 .NET 6.0 預設的 Blazor 範本 追蹤程式碼 取得原始碼 [ Blazor Auto Refresh Update ] 👈GitHub 程式碼修改細節,可以透過 Find in Files 輸入:  Auto Refresh Update Tip 檢視所有程式碼片段。 發行程序 Blazor Server App  不用修改任何檔案。 Blazor WebAssembly App  發行新版本需要修改 appsettings.json 版本編號。 appsettings.json Index.razor (非必要) Blazor WebAssembly App + PWA  發行新版本需要修改以下檔案內的版本編號。 appsettings.json Toolbar.razor service-worker.published.js Index.razor (非必要) 參考資源 Blazor Train 教學影片 [ Handling App Updates: Carl Franklin's Blazor Train Ep 60 ] 👈YouTube

使用 T-SQL 計算帳齡分析 Aging Analysis Report

圖片
需求說明 常見帳齡分析的報表例如:客戶帳齡分析、產品庫存呆滯天數分析...等。  舉例一組簡化的客戶發票資料,包括單號、日期、金額,  欲將發票資料依天數組距加總統計,得到客戶帳齡分析,  如下圖。    原始資料  交易資料中必要欄位有:  一個日期欄位 : 用來計算與指定日期相差幾天  一個數值欄位 : 用來各組距彙總時的數值  DECLARE @SourceData AS TABLE (DOCNO varchar (16), TRANS_DATE date , AMOUNT int ) insert into @SourceData(DOCNO, TRANS_DATE, AMOUNT) select DOCNO= '2021011501' , TRANS_DATE= convert ( date , '2021-01-15' ),AMOUNT=300 union select DOCNO= '2021052601' , TRANS_DATE= convert ( date , '2021-05-26' ),AMOUNT=400 union select DOCNO= '2021060701' , TRANS_DATE= convert ( date , '2021-06-07' ),AMOUNT=300 union select DOCNO= '2021060801' , TRANS_DATE= convert ( date , '2021-06-08' ),AMOUNT=400 union select DOCNO= '2021060901' , TRANS_DATE= convert ( date , '2021-06-09' ),AMOUNT=700 union select DOCNO= '2021071001' , TRANS_DATE= convert ( date , '2021-07-10' ),AMOUNT=800 union select DOCNO= '2021071101' ,

使用 Excel 計算帳齡分析 Aging Analysis Report

圖片
需求說明  常見帳齡分析的報表例如:客戶帳齡分析、產品庫存呆滯天數分析...等。  舉例一組簡化的客戶發票資料,包括單號、日期、金額,  欲將發票資料依天數組距加總統計,得到客戶帳齡分析,  如下圖。  原始資料  交易資料中必要欄位有:  一個日期欄位 : 用來計算與指定日期相差幾天  一個數值欄位 : 用來各組距彙總時的數值    定義天數組距  0 ~ 30 : 表示 0 天至 30 天  31 ~ 60 : 表示 31 天至 60 天  以此類推     計算步驟  1. 延伸原始資料  (1) Age / 天數 :  計算交易資料 [日期] 與指定日期相差幾天  (2) 天數組距 :  由 [Age / 天數] 對應組距名稱    公式如下 D38 = DATEVALUE($B$ 35 )-DATEVALUE(B38) E38 = VLOOKUP(D38,$A$27:$C$31,3,TRUE)  2. 依照組距加總數值  利用 Excel 函式 SUMIF 產生各組距的加總。  公式如下 A62 = SUMIF($E$38:$E$56,A61,$C$38:$C$56)  B62 = SUMIF($E$38:$E$56,B61,$C$38:$C$56)  相關連結 下載範例 Excel 檔案 使用 T-SQL 計算帳齡分析 Aging Analysis Report