我有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