Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algorithm of Aggregate Function SUM

Similar presentations


Presentation on theme: "Algorithm of Aggregate Function SUM"— Presentation transcript:

1 Algorithm of Aggregate Function SUM
SUM function: Sum function can total a field of numerical values. Algorithm 4.1 Evaluating sum () with P-tree. total = 0.00; For i = 0 to n { total = total + 2i * RootCount (Pi); } Return total Algorithm Sum Aggregate

2 Algorithm of Aggregate Function SUM
P4, P4, P4, P4,0 10 5 6 7 11 9 3 1 1 1 1 For example, if we want to know the total number of products which were sold out in relation S, the procedure is showed on left {3} {3} {5} {5} 23 * * * * = 51

3 Algorithm of Aggregate Function AVERAGE
Average function: Average function will show the average value in a field. It can be calculated from function COUNT and SUM. Average () = Sum ()/Count ().

4 Algorithm of Aggregate Function MAX
Max function: Max function returns the largest value in a field. Algorithm 4.2 Evaluating max () with P-tree. max = 0.00; c = 0; Pc is set all 1s For i = n to 0 { c = RootCount (Pc AND Pi); If (c >= 1) Pc = Pc AND Pi; max = max + 2i; } Return max; Algorithm Max Aggregate.

5 Algorithm of Aggregate Function MAX
Steps IF Pos Bits P4, P4, P4, P4,0 1. Pc = P4,3 RootCount (Pc) = >= 1 10 5 6 7 11 9 3 1 1 1 1 {1} 2. RootCount (Pc AND P4,2) = 0 < Pc = Pc AND P’4,2 {0} 3. RootCount (Pc AND P4,1 ) = 2 >= 1 Pc = Pc AND P4,1 {1} 4. RootCount (Pc AND P4,0 ) = 1 >= 1 {1} 23 * * * * = {1} {0} {1} {1} 11

6 Algorithm of Aggregate Function MIN
Min function: Min function returns the smallest value in a field. Algorithm Evaluating Min () with P-tree. min = 0.00; c = 0; Pc is set all 1s For i = n to 0 { c = RootCount (Pc AND NOT (Pi)); If (c >= 1) Pc = Pc AND NOT (Pi); Else min = min + 2i; } Return min; Algorithm Max Aggregate.

7 Algorithm of Aggregate Function MIN
Steps IF Pos Bits P4, P4, P4, P4,0 1. Pc = P’4,3 RootCount (Pc) = 4 > = 1 10 5 6 7 11 9 3 1 1 1 1 {0} 2. RootCount (Pc AND P’4,2) = 1 >= 1 Pc = Pc AND P’4,2 {0} 3. RootCount (Pc AND P’4,1 ) = 0 < 1 Pc = Pc AND P4,1 {1} 4. RootCount (Pc AND P’4,0 ) = 0 < 1 {1} 23 * * * * = {0} {0} {1} {1} 3

8 Algorithms of Aggregate Function MEDIAN and RANK
Algorithm 4.4. Evaluating Median () with P-tree median = 0.00; pos = N/2; for rank pos = K; c = 0; Pc is set all 1s for single attribute For i = n to 0 { c = RootCount (Pc AND Pi); If (c >= pos) median = median + 2i; Pc = Pc AND Pi; Else pos = pos - c; Pc = Pc AND NOT (Pi); } Return median; Median/Rank: Median function returns the median value in a field. Rank (K) function returns the value that is the kth largest value in a field. Algorithm Median Aggregate.

9 Algorithm of Aggregate Function MEDIAN
Steps IF Pos Bits P4, P4, P4, P4,0 1. Pc = P4,3 RootCount (Pc) = < 4 Pc = P’4,3 pos = 4 – 3 = 1 10 5 6 7 11 9 3 1 1 1 1 {0} 2. RootCount (Pc AND P4,2) = 3 >= 1 Pc = Pc AND P4,2 {1} 3. RootCount (Pc AND P4,1 ) = 2 >= 1 Pc = Pc AND P4,1 {1} 4. RootCount (Pc AND P4,0 ) = 1 >= 1 {1} 23 * * * * = {0} {1} {1} {1} 7

10 Algorithm of Aggregate Function TOP-K
Top-k function: In order to get the largest k values in a field, first, we will find rank k value Vk using function Rank (K). Second, we will find all the tuples whose values are greater than or equal to Vk. Using ENRING technology of P-tree

11 Iceberg Query Operation Using P-rees
We demonstrate the computation procedure of iceberg querying with the following example: SELECT Loc, Type, Sum (# Product) FROM Relation S GROUPBY Loc, Type HAVING Sum (# Product) >= 15

12 Iceberg Query Operation Using P-trees (Step One)
Step one: We build value P-trees for the 4 values, {Loc| New York, Minneapolis, Chicago}, of attribute Loc. PMN 1 PNY PCH Figure 4. Value P-trees of Attribute Loc

13 Iceberg Query Operation Using P-trees (Step One)
Figure 5 illustrates the calculation procedure of value P-tree PNY. Because the binary value of New York is 00001, we will get formula 1. PNY = P’1,4 AND P’1,3 AND P’1,2 AND P’1,1 AND P1, (1) LOC P1,4 P1,3 P1,2 P P P’1,4 P’1,3 P’1,2 P’ P PNY 1 Figure 5. Procedure of Calculating PNY

14 Iceberg Query Operation Using P-trees (Step One)
After getting all the value P-trees for each location, we calculate the total number of products sold in each place. We still use the value, New York, as our example. Sum(# product | New York) = 23 * RootCount (P4,3 AND PNY) + 22 * RootCount (P4,2 AND PNY) + 21 * RootCount (P4,1 AND PNY) + 20 * RootCount (P4,0 AND PNY) = 8 * * * * 1 = (2)

15 Iceberg Query Operation Using P-trees (Step One)
Table 3 shows the total number of products sold out in each of the three of the locations. Because our threshold T is 15, we eliminate the city Chicago. Loc Values Sum (# Product) Threshold New York 23 Y Minneapolis 18 Chicago 9 N Table 3. the Summary Table of Attribute Loc.

16 Iceberg Query Operation Using P-trees (Step Two)
Step two: Similarly we build value P-trees for every value of attribute Type. Attribute Type has four values {Type | Notebook, desktop, Printer, Fax}. Figure 6 shows the value P-tree of the four values of attribute Type. 1 PNotebook PDesktop PPrinter PFAX Figure 6. Value P-trees of Attribute Type.

17 Iceberg Query Operation Using P-trees (Step Two)
Similarly we get the summary table for each value of attribute Type. According to the threshold, T equals 15, only value P-tree of notebook will be used in the future. Type Values Sum (# Product) Threshold Notebook 28 Y Desktop 14 N FAX 3 Printer 6 Table 4. Summary Table of Attribute Type.

18 Iceberg Query Operation Using P-trees (Step Three)
Step three: We only generate candidate Loc and Type pairs for local store and Product type, which can pass the threshold T. By Performing And operation on PNY with PNotebook, we obtain value P-tree PNY AND Notebook PNY PNotebook PNY AND Notebook 1 1 1 = AND Figure 7. Procedure of Calculating PNY AND Notebook

19 Iceberg Query Operation Using P-trees (Step Three)
We calculate the total number of notebooks sold out in New York by formula 3. Sum(# Product | New York) = 23 * RootCount (P4,3 AND PNY AND Notebook) + 22 * RootCount (P4,2 AND PNY AND Notebook) + 21 * RootCount (P4,1 AND PNY AND Notebook) + 20 * RootCount (P4,0 AND PNY AND Notebook) = 8 * * * 2 + 1* 1 = (3)

20 Iceberg Query Operation Using P-trees (Step Three)
By performing And operations on PMN with P Notebook, we obtain value P-tree PMN AND Notebook 1 PMN PNotebook PMN AND Notebook AND = Figure 8. Procedure of Calculating PMN AND Notebook

21 Iceberg Query Operation Using P-trees (Step Three)
We calculate the total number of notebook sold out in Minneapolis by formula 4. Sum (# product | Minneapolis) = 23 * RootCount (P4,3 AND PMN AND Notbook) + 22 * RootCount (P4,2 AND PMN AND Notbook) + 21 * RootCount (P4,1 AND PMN AND Notbook) + 20 * RootCount (P4,0 AND PMN AND Notbook) = 8 * * * * 1 = (4)

22 Iceberg Query Operation Using P-trees (Step Three)
Finally, we obtain the summary table 5. According to the threshold T=15, we can see that only group pair “New York And Notebook” pass our threshold T. From value P-tree PNY AND Notebook, we can see that tuple 1 and 4 are in the results of our iceberg query example. PNY AND Notebook Type Values Sum (# Product) Threshold New York And Notebook 17 Y Minneapolis And Notebook 11 N 1 Table 5. Summary Table of Our Example.


Download ppt "Algorithm of Aggregate Function SUM"

Similar presentations


Ads by Google