1
100
A
2
200
B
3
300
B
4
400
C
5
500
C
6
1000
D
7
2000
D
8
3000
D
9
5000
D
10
5000
E
Input data
ID + Num
False
True
False
True
False
False
2
10
True
False
2
True
5.50
5.50
False
13.00
14.95
1x
10
C:\Users\JoshuaG\AppData\Local\Temp\34\Engine_17844_9fe89add39fa495daf9b6e5b02aa55e7_\Engine_3696_2d169ac4f8ec4845b5661a2cb882d617_.yxdb
Single
Profile
C:\Users\JoshuaG\AppData\Local\Temp\34\Engine_17844_9fe89add39fa495daf9b6e5b02aa55e7_\Engine_3696_c527192f824742b8b427845d7fad4d2f_.yxdb
Single
Report
[grp] = "Clus_Info"
Custom
=
grp
True
fixed
2019-04-12 13:28:20
0
Clus_Info
2019-04-12 13:28:20
2019-04-12 13:28:20
Keep only Clus_Info
[grp] = "Clus_Info"
out
Last
out
Parse on |
FirstRow
Warn
Get field names from first row of data
Clus_Info
Running Sum
Int32
4
Empty
[Size] + [Row-1:Size]
Create running sum of cluster size
[Size] + [Row-1:Size]
Running Sum
ID
Int32
4
[Size]
[ID] <= [Running Sum]
[ID] + 1
Generate each ID
Keep only important data and convert them to integers
RecordID
1
Int32
6
0
Create ID for joining on cluster data
Join on ID to identify each row of data's cluster number
Size
New Field
Int32
4
Empty
IF [Cluster] = 1 THEN 1
ELSE [Row-1:Running Sum] + 1
ENDIF
Identify minimum and maximum ID number for each cluster
IF [Cluster] = 1 THEN 1
ELSE [Row-1:Running Sum] + 1
ENDIF
C:\Users\JoshuaG\AppData\Local\Temp\34\Engine_17844_9fe89add39fa495daf9b6e5b02aa55e7_\Engine_3696_eca7b5343d7d4f2a917ac181784f8300_.yxdb
Final output
Joshua Gostick
12/04/2019
Remove this
Cluster
C:\Users\JoshuaG\AppData\Local\Temp\34\Engine_17844_9fe89add39fa495daf9b6e5b02aa55e7_\Engine_3696_c7bee0f143d946aeb419863297149aa8_.yxdb
Single
Profile
Horizontal
challenge_131_JG