tps/sample_discovercard/mapping.md
2018-03-01 23:25:26 -05:00

6.6 KiB

regular expression screen

                     +------------------------+----+
          source     | DCARD                  | \/ |
                     +-----------------------------+
                     +-----------------------------+
          new name   |First 20                     |
                     +-----------------------------+
                     +-----------------------------+
          function   | extract(replace)       | \/ |
                     +------------------------+----+



         (each block is a regex, all blocks are concatenated into an array and linked to mapped ^alues)

          first 20 characters
         +----------------------------------+

                   +----------------------------------------------------------------------------------------------------+
            +      |                      +-----------------------------+                                               |
            |      |            Field Name| Description             | \/|  expressed as jsonb path "{Description}")     |
        +-------+  |                      +-----------------------------+                                               |
            |      |                      +-------------------------+                                                   |
            +      |label of return ^alue |f20                      |                                                   |
                   |                      +-------------------------+                                                   |
                   |                      +-------------------------+                                                   |
                   |  regular expression  |.{1,20}                  |   supply test run ^alues                          |
                   |                      +-------------------------+                                                   |
                   |                      +-------------------------+                                                   |
                   |          replace wit |                         |                                                   |
                   |                      +-------------------------+                                                   |
                   |                      +---+                                                                         |
                   |           Map Results|Y/N|                                                                         |
                   |                      +---+                                                                         |
                   |                      +---+                                                                         |
                   |      Find All Matches| g |                                                                         |
                   |                      +---+                                                                         |
                   |       filter(s)                                                                                    |
                   |    +-------------------------------------------+                                                   |
                   |      +----------------+ +----------------+                                                         |
                   |      |Category        | |Restaurantes    |                                                         |
                   |      +----------------+ +----------------+                                                         |
                   |      +----------------+ +----------------+                                                         |
                   |      |Category        | |Services        |                                                         |
                   |      +----------------+ +----------------+                                                         |
                   |                                                                                                    |
                   +----------------------------------------------------------------------------------------------------+

map definition

{
    "defn": [
        {
            "key": "{Description}",
            "map": "y",
            "flag": "g",
            "field": "f20",
            "regex": ".{1,20}",
            "retain": "y"
        }
    ],
    "name": "First 20",
    "where": [
        {"Category":"Restaurantes"},
        {"Category":"Services"}
    ],
    "function": "extract",
    "description": "pull first 20 characters from description for mapping"
}

SQL

select x.x from TPS.srce_map_def_set( 'DCARD'::text, 'First 20'::text, { "defn": [ { "key": "{Description}", "map": "y", "flag": "", "field": "f20", "regex": ".{1,20}", "retain": "y" } ], "name": "First 20", "where": [ {"Category":"Restaurantes"}, {"Category":"Services"} ], "function": "extract", "description": "pull first 20 characters from description for mapping" } ::jsonb, 1::int ) x(x)

assign new key/values to the results of the regular expression, and then back to the underlying row it came from

returned from expression party reason city provice
{"f20": "BIG LOTS #00453 STOW"} Big Lots Home Supplies Stow Ohio
{"f20": "1794MOTHERHOOD #1794"} Motherhood Clothes
{"f20": "3 PALMS HUDSON OH"} 3 Palms Restaurantes Hudson Ohio
{"f20": "36241 7-ELEVEN STOW "} 7-Eleven Gasoline Stow Ohio
{"f20": "7-ELEVEN 36241 STOW "} 7-Eleven Gasoline Stow Ohio
{"f20": "98626 - 200 PUBLIC S"} Public Sq Parking Recreation
{"f20": "ACE HARDWARE HUDSON "} Ace Hardware Home Maint Hudson Ohio
{"f20": "ACH CAFE AND STARBUC"} Starbucks Restaurantes