簡體   English   中英

如何跟蹤 Power BI 中的每日變化?

[英]How to track day wise change in Power BI?

我正在使用來自https://www.mohfw.gov.in/網站的數據創建 Power BI 報告,該網站提供所有印度州/聯邦領土的最新冠狀病毒數據。

數據格式如下——

+-----+-----------------------------+-----------+-------+-------+
| SNo |            State            | Confirmed | Cured | Death |
+-----+-----------------------------+-----------+-------+-------+
|   1 | Andaman and Nicobar Islands |        14 |    11 |     0 |
|   2 | Andhra Pradesh              |       603 |    42 |    15 |
|   3 | Arunachal Pradesh           |         1 |     0 |     0 |
|   4 | Assam                       |        35 |    12 |     1 |
|   5 | Bihar                       |        86 |    37 |     2 |

他們的網站每天都會更新新數據,因此沒有日期智能跟蹤器。 我想跟蹤每個 state 的情況下的每日明智變化(增量/減量),有什么辦法可以在 Power BI 中實現 model 來實現這一目標?

現在我正在做的是我每天從 web 頁面下載表格並添加一個日期列,它將是今天的日期( getdate() )並將數據加載到 SQL 表中。 所以每天我都在表格中為每個 state 插入一行,並帶有當天的日期戳,然后我可以從前一天的數據中減去它以查看更改,但我覺得這是一種低效的方式,並且表格大小保持不變每天都在增加。

因此,任何改進它的建議,無論是通過 Power BI 數據 model 或 SQL 中的一些更改,都將不勝感激。

語境

考慮到數據源是根據SCD 1 (覆蓋)更新的,跟蹤每日變化的唯一方法是每天對數據進行歷史記錄。 在實踐中,安排每天加載數據源並存儲當天的新數據。

回答

您正在以正確的方式實施SCD 2 (在更改時創建新記錄)。 確保為每條記錄添加一個技術領域以及生成時的時間戳是很重要的,這樣您以后就可以研究趨勢。

額外的

您最終可以通過規范化 model 來優化此方法,以減小您正在應用 SCD 2 的表的大小(在更改時創建新記錄)。

請讓我舉一個簡單的例子。 考慮一個表:

  • 只有 1 條記錄
  • 1000 個字段,其中只有 1 個字段 (LAST_UPDATE) 可以使用 SCD 2 更改(在更改時創建新記錄)

如果 LAST_UPDATE 每天更改 100,000 次,則每天都會觸發創建同一記錄的 100,000 個新版本(因為我們跟蹤其更改)。 因此,一年后該表仍將有 1,000 個字段和 36,500,000 條記錄。 相反,如果我們對 model 進行規范化,使得 LAST_UPDATE 字段(使用 SCD 2 進行歷史記錄)存儲在單獨的表中,一年后我們將擁有一個具有 1 條記錄和 999 列的表,以及具有 1 列和 36,500,000 條記錄的不同表。

在您的數據庫是行數據庫的情況下,您將從規范化 model 中受益匪淺。 相反,如果您的數據庫是列式數據庫,那么一切都已經處理好了,因為每一列都是單獨壓縮的,而不是逐行壓縮。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM