1

RDBMS 中的动态频带

我们的挑战是重现以下示例 (RDBMS),但要利用 Microsoft SSAS 表格模型。我们在一列中有值,我们需要对它们进行分组,所以实际上我们有带分数的学生(在特定范围内的任何值,例如 0 到 100),我们需要将这些分数分组到波段/范围中并在图表上提供分布允许用户解决它们。

但是有一个转折点,我们需要提供许多条带,因此标记表中的一个附加列不会削减它,并且客户希望将来能够添加更多条带,因此显然添加列不是要走的路。

在下面的内置 RDBMS 示例中,我们定义了 3 个不同的波段: - 5-Band - BiBand - Tri-Band 但是我们可以根据需要在不同的范围内添加任意数量的波段,因为这是另一个要求,我们需要提供波段用于 0-100 之间的值,但也可以是 0-4 以及将来可能的其他值。

在了解 DB Schema 的详细信息之前,我想我会首先公开我将在传统 RDBMS 中使用的 SQL,它是:

select studentid, StudentMark, BandRangeName
from StudentMark, Band, BandRange
where Band.BandName = '5-Band'  # This is where we would filter at report level
and Studentmark Between BandRange.BandLowRange and BandRange.BandHighRange
and Band.BandID = BandRange.BandID

所以我们需要用户做的就是选择乐队(上面的“5-Band”),他们想为那个特定的报告工作。

以下是基于在报告级别选择的波段的结果:

5-Band  BiBand  Tri-Band

1   10  Very Low  
2   11  Very Low  
3   13  Very Low  
4   20  Very Low  
5   25  Low       
6   35  Low       
7   40  Low       
8   44  Medium    
9   50  Medium    
10  60  Medium    
11  67  High      
12  70  High      
13  75  High      
14  80  High      
15  90  Very High

Student Mark    Band
1   10  Low       
2   11  Low       
3   13  Low       
4   20  Low       
5   25  Low       
6   35  Low       
7   40  Low       
8   44  Low       
9   50  Low       
10  60  High      
11  67  High      
12  70  High      
13  75  High      
14  80  High      
15  90  High      

1   10  Low       
2   11  Low       
3   13  Low       
4   20  Low       
5   25  Low       
6   35  Medium    
7   40  Medium    
8   44  Medium    
9   50  Medium    
10  60  Medium    
11  67  High      
12  70  High      
13  75  High      
14  80  High      
15  90  High      

RDBMS Schema - 物理波段表

BandID  BandName
1   TriBand   
2   Bi-Band   
3   5-Band    
3 defined, but can define as many as required.
  • 物理波段范围表
BandID  BandNumber  BandRangeName   BandLowRange    BandHighRange
1          1           Low             0                 30        
1   2   Medium      31  60        
1   3   High        61  100       
2   1   Low         0   50        
2   2   High        51  100       
3   1   Very Low    0   20        
3   2   Low         21  40        
3   3   Medium      41  60        
3   4   High        61  80        
3   5   Very High   81  100       
  • 最后是过于简单的 StudentMark 表
StudentID   StudentMark
1   10
2   11
3   13
4   20
5   25
6   35
7   40
8   44
9   50
10  60
11  67
12  70
13  75
14  80
15  90
4

0 回答 0