Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The combined result is:

    1
    "OpenWater"
    {
    1
    "TestNr" 37816
    10 "VS" "VM" "NM" "FN" "KT" "KQ" "KQ-O" "J" "WT" "ETA-O" "ETA-R"
    "1" 14.0 1.878 10.347 .237 .1390 .02643 .02590 .800 .101 .683 .980
    "2" 15.0 2.013 11.141 .254 .1401 .02657 .02605 .798 .099 .683 .980
    "3" 16.0 2.147 12.032 .271 .1445 .02717 .02666 .789 .097 .681 .981
    "4" 17.0 2.281 12.978 .288 .1500 .02792 .02742 .779 .096 .678 .982
    "5" 18.0 2.415 13.959 .305 .1557 .02870 .02820 .768 .094 .675 .983    "6" 19.0 2.549 14.977 .322 .1616 .02951 .02901 .756 .093 .671 .983
    }

Second example

Assume the following document to be parsed:

...

You see that note CARE behind the data. The only way to parse this data is to use the "aa" mask:

@FILTER
@TABLE(VS_kts PD PD_hp N_s N DIAM Warning$)
 vvvvvvvvvv vvvvvvvvvvv vvvvvvvvvvv vvvvvvvvv vvvvvvvvv vvvvvvvv aaaaaaa 
@ENDFILTER

Would you have used the "ss" mask instead of the "aa" mask the result would be:

0
7   "VS_kts"   "PD"   "PD_hp"   "N_s"   "N"   "DIAM"   "Warning$"
"1"   10.00       19.30       26.24      8.66     519.5     0.60    CARE
"2"   12.00       65.56       89.16     12.16     729.9     0.60    CARE
"3"   14.00       80.03      108.84     13.33     799.7     0.60    CARE
"11"  30.00      265.46      361.02     23.09    1385.4     0.60    CARE
"12"  32.00      322.98      439.25     24.87    1492.4     0.60    CARE
"13"  34.00      395.97      538.51     26.85    1610.9     0.60    CARE

With "aa" it will be:0
7   "VS_kts"   "PD"   "PD_hp"   "N_s"   "N"   "DIAM"   "Warning$"
"1"   10.00       19.30       26.24      8.66     519.5     0.60    CARE
"2"   12.00       65.56       89.16     12.16     729.9     0.60    CARE
"3"   14.00       80.03      108.84     13.33     799.7     0.60    CARE
"4"   16.00       92.31      125.54     14.36     861.5     0.60 -999999
"5"   18.00      104.07      141.53     15.32     919.5     0.60 -999999
"6"   20.00      118.47      161.12     16.39     983.2     0.60 -999999
"7"   22.00      136.15      185.16     17.51    1050.3     0.60 -999999
"8"   24.00      159.04      216.30     18.74    1124.3     0.60 -999999
"9"   26.00      187.54      255.05     20.08    1204.6     0.60 -999999
"10"  28.00      222.11      302.07     21.52    1291.4     0.60 -999999
"11"  30.00      265.46      361.02     23.09    1385.4     0.60    CARE
"12"  32.00      322.98      439.25     24.87    1492.4     0.60    CARE"13"  34.00      395.97      538.51     26.85    1610.9     0.60    CARE

In which -999999 stands for PENDING valuesfor PENDING values.

Troubleshoot/Tips & Tricks

  1. Things can very easily go wrong when you are parsing:
    1. The format of the text in the filter has to be exactly the same as that of the text in the original document. Therefore, always use Courier as font in your text editor in order to have non-scalable characters and thus being able to align spaces. 
    2. The vv's and ss's have to be exactly in the right positions, otherwise the function doesn't work.
  2. It is a good idea to copy the original text into the data slot of your PARSE# relation when making a filter. In this way you have guidance while placing everything in the right position.
    Here is an example. The table is pasted into the dataslot and the vv's are written underneath to place them in the right position:

    14.0 1.878 10.347 .237 .1390 .02643 .02590 .800 .101 .683 .980
    vvvv vvvvv vvvvvv vvvv vvvvv vvvvvv vvvvvv vvvv vvvv vvvv vvvv
  3. Non-Telitab parsing. 
    For the above source document using the filter: 


    @FILTER


    OPEN WATER TEST NO. vvvvv
    @ENDFILTER




    the result will be: 

    "37816"

    and with 


    @FILTER
    vvvv vvvvv vvvvvv vvvvv vvvvvv vvvvvvv vvvvvvv vvvvv vvvvv vvvvv vvvvv


    @ENDFILTER




    the result: 


    "14.0 1.878 10.347 .237 .1390 .02643 .02590 .800 .101 .683 .980


    15.0 2.013 11.141 .254 .1401 .02657 .02605 .798 .099 .683 .980
    16.0 2.147 12.032 .271 .1445 .02717 .02666 .789 .097 .681 .981
    17.0 2.281 12.978 .288 .1500 .02792 .02742 .779 .096 .678 .982
    18.0 2.415 13.959 .305 .1557 .02870 .02820 .768 .094 .675 .983
    19.0 2.549 14.977 .322 .1616 .02951 .02901 .756 .093 .671 .983"




    is obtained 

  4. Use of conditional Filter
    A Relation or parameter can contain a set of conditional filters: 


    @FILTER(METH2D3D=1,RE="T")
    @TABLE(VS N n PS PE ETA-D TH R THDF)
    vvvvvv vvvvv vvvvvvv vvvvvv vvvvv vvvvvv vvvvvv vvvvv vvvvv
    @ENDFILTER
    @FILTER(METH2D3D=1,RE="F")
    @TABLE(VS N n PS TH)


    vvvvvv vvvvv vvvvvvv vvvvvv vvvvvv
    @ENDFILTER
    @FILTER(METH2D3D=0)
    @TABLE(VS N n PDTANK PS)
    vvvvvvv vvvvvv vvvvvv vvvvvv vvvvvv
    @ENDFILTER




    this means:

    @FILTER(METH2D3D=1,RE="T")


     means: "If METH2D3D=1 AND RE="T" then apply this filter as closed by @ENDFILTER" for the first @FILTER(Condition) of which condition = True is applied. 


 

Quick links: Function overview | Attribute overview | Constants overview | Dimensions overview