QlikView Expressor Schema and Semantic Type Cheat Sheet

    If you receive similar warning (TODO) type messages in the Message Panel such as the ones below when using QlikView Expressor Desktop:

     

    SampleDataflow1:

    Read File 1:

    Error: The Attribute "field1" is required by another operator downstream of this location, but this requirement has not been satisfied.


    Write File 2:

    Error: The Attribute "field1" is required by this operator, but this requirement has not been satisfied.

     

    df1.PNG

     

     

    Please keep the following bullets in mind:

     

     

    • If a schema used for writing to a target has attributes in it that are not referenced or mapped in the dataflow  (or read schema) you will see messages such as those above.

     

     

    Schema used in Read File Operator

     

    schema1.PNG

     

    Schema used in Write Tabke Operator

     

    schema2.PNG

     

    In order to correct this - the WRITE TABLE Schema's Type  OR the READ FILE Schema's Type must match.

     

    This video will greatly help you SEE how it works:

     

    Note this video was created prior to the QlikTech acquisition.

     

     

    Cheat Sheet

     

    • Schemas are used by READ and WRITE operators only

    • Schemas describe the PHYSICAL EXTERNAL FIELDS of source or target data and map to a collection of LOGICAL INTERNAL ATTRIBUTES called a Semantic Type

    • The LEFT side of a Schema contains the external PHYSICAL FIELDS

    • The MIDDLE of a Schema contains the mappings
      (some can be edited to translate data from one data type to another)

    • You use mappings to map data from the PHYSICAL FIELDS to the LOGICAL ATTRIBUTES in the Semantic Type

    • The RIGHT side of the Schema contains the INTERNAL LOGICAL ATTRIBUTES you can call this the Metadata

    • Semantic Types are used and referenced inside of Schemas - as local or shared composite types

    • The COLLECTION of logical attributes are called a Composite Semantic Type

    • By default when creating a schema from a physical file, table etc - it creates a local copy of the Semantic Type which is called a Local Composite Type

    • Semantic Type data types are generic or known as primitive
      - String, Integer, Decimal, Double,DateTime,Byte

    • Semantic Types can be defined as "Actionable" because they contain "Active Metadata"
      as you can assign constraints, default values, corrective actions and error handling all within the Type

    • Semantic Types can be SHARED and ASSIGNED to other Schemas to be reused

    • NOTE: Shared Semantic types RETAIN the rules (constraints, default values, corrective actions and error handling) defined in them - so be careful when using them in Transform and other operators as the data flowing through them migh trigger the rule and cause an error during the flow.

    • A Transform Operator that is used to transform existing data or create NEW attributes can also SHARE those Ouput Attributes and then have them ASSIGNed to a Schema that will be mapped to the target

    • Semantic Types' attribute NAMES AND DATA TYPES MUST ultimately match the target schema it is writing to

    • Reject Ports on READ Operators that connect to WRITE operators will have a different Schema layout (than the original read schema) and need to be created from Upstream output. Here are the attributes that are produced from the reject port.

      RejectType  - type of reject
      RecordNumber - the number of the data record that was rejected
      RecordData - a comma delimited string of the actual data values rejected encapsulated in quotes
      RejectReason - the reason the data was rejected
      RejectMessage - system generated additional messages

    • Reject Ports on WRITE Operators can use the same Schema Layout.

     

    This document was generated from the following discussion: Operator  Assocation Issue