我有2個不同粒度的表。第一表有半小時級粒度數據如下所示 - 它表明,任何系統,如STATE1,STATE2等一個半小時間隔期間在特定狀態...合併不同的粒度數據
<table>
<tr>
<th>SysName</th>
<th>StartTime</th>
<th>EndTime</th>
<th>State1</th>
<th>State2</th>
</tr>
<tr>
<td>Sys1</td>
<td>12:00</td>
<td>12:30</td>
<td>10</td>
<td>20</td>
</tr>
<tr>
<td>Sys2</td>
<td>12:30</td>
<td>01:00</td>
<td>12</td>
<td>18</td>
</tr>
<tr>
<td>Sys3</td>
<td>01:00</td>
<td>01:30</td>
<td>16</td>
<td>14</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
注意: - 在這裏,我可以輕鬆地應用定製過濾器的工作時間/班從早上9.00到晚上6.00或任何其他自定義過濾器。
而其他表只有如下所示的狀態改變的數據 -
<table>
<tr>
<th>SysName</th>
<th>StartTime</th>
<th>EndTime</th>
<th>Duration(mins)</th>
<th>StateName</th>
</tr>
<tr>
<td>Sys1</td>
<td>12:00</td>
<td>12:45</td>
<td>45</td>
<td>State1</td>
</tr>
<tr>
<td>Sys2</td>
<td>12:45</td>
<td>01:20</td>
<td>35</td>
<td>State2</td>
</tr>
<tr>
<td>Sys3</td>
<td>01:20</td>
<td>04:00</td>
<td>160</td>
<td>State1</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
現在我想這個數據合併到一個單一的表中任一粒度的(其是最合適的),我也應該能夠應用自定義過濾器。
我無法在這裏做出設計決定。考慮上面的兩個表作爲事實表,並提出一種方法,以便我可以無縫合並它並將其流入數據倉庫中的單個事實表。
如果可能,請始終以最好的粒度進行。你想達到什麼目的?您需要如何呈現數據的規則? – tobi6
是的,我可以以最好的粒度存儲數據。但是這會導致數百萬條記錄。例如。 4000系統* 730(2年數據)* 48(半小時間隔數據)〜= 140160000記錄。 –
好的,謝謝。對我來說似乎不算太大。我的其他問題呢? – tobi6