Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-1169

Transformation for nesting the result of another transformation within a single entity

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_CSD03
    • Fix Version/s: V4.0_CSD04
    • Component/s: Data Aggregation
    • Labels:
      None
    • Environment:

      Applied

    • Proposal:
      Hide

      An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation nest() that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

      Relevant excerpt from section 3 in the referenced document: The nest transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. nest( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp, which in turn holds the result collection of t applied to the input set:

      { <cnp>: [ <result of t applied to input set> ] }
      
      Show
      An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation nest() that allows to embed data of grid cells as a nested collection of entities representing grid rows.  Relevant excerpt from section 3 in the referenced document: The nest transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. nest( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp , which in turn holds the result collection of t applied to the input set: { <cnp>: [ <result of t applied to input set> ] }

      Description

      This new feature is motivated by a concrete use case. The current version of the Data Aggregation specification already includes an example for a cross-table and describes how to retrieve its data using transformation groupby in combination with rollup. However, this data is returned as linear collection of entities. For working with data in a grid efficiently, it must be possible to access selected sections of the grid. Details are described in the document “Grid-Like Access to Aggregated Data”, sections 2 and 3: https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata

        Attachments

          Activity

          gerald.krause1 Gerald Krause created issue -
          gerald.krause1 Gerald Krause made changes -
          Field Original Value New Value
          Proposal An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of one axis as a nested collection of another axis. Details are described in the document “Grid-Like Access to Aggregated Data”, sections 2 and 3: https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. Details are described in the document “Grid-Like Access to Aggregated Data”, sections 2 and 3: [https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata]
          gerald.krause1 Gerald Krause made changes -
          Proposal An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. Details are described in the document “Grid-Like Access to Aggregated Data”, sections 2 and 3: [https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata] An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The transpose transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. transpose( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}
          Description This new feature is motivated by a concrete use case. The current version of the Data Aggregation specification already includes an example for a cross-table and describes how to retrieve its data using transformation groupby in combination with rollup. However, this data is returned as linear collection of entities. For working with data in a grid efficiently, it must be possible to access selected sections of the grid. This new feature is motivated by a concrete use case. The current version of the Data Aggregation specification already includes an example for a cross-table and describes how to retrieve its data using transformation groupby in combination with rollup. However, this data is returned as linear collection of entities. For working with data in a grid efficiently, it must be possible to access selected sections of the grid. Details are described in the document “Grid-Like Access to Aggregated Data”, sections 2 and 3: [https://www.oasis-open.org/committees/document.php?document_id=62593&wg_abbrev=odata]
          mikep Michael Pizzo (Inactive) made changes -
          Status New [ 10000 ] Open [ 1 ]
          gerald.krause1 Gerald Krause made changes -
          Proposal An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The transpose transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. transpose( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}
          An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The transpose transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. transpose( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}

           

          {color:#000000}Amendment: Use "nest" as name for the transformation instead of "transpose"{color}
          handl Ralf Handl made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]
          mikep Michael Pizzo (Inactive) made changes -
          Proposal An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The transpose transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. transpose( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}

           

          {color:#000000}Amendment: Use "nest" as name for the transformation instead of "transpose"{color}
          An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The nest transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. transpose( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}

           

          {color:#000000}2018/5/24: Amendment: Use "nest" as name for the transformation instead of "transpose"{color}
          handl Ralf Handl made changes -
          Proposal An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation transpose that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The nest transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. transpose( cnp, t ) applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property cnp, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}

           

          {color:#000000}2018/5/24: Amendment: Use "nest" as name for the transformation instead of "transpose"{color}
          An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation {{nest()}} that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The {{nest}} transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. {{nest( cnp, t )}} applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property {{cnp}}, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}

           

          {color:#000000}Amendment: Use "nest" as name for the transformation instead of "transpose"{color}
          handl Ralf Handl made changes -
          Proposal An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation {{nest()}} that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The {{nest}} transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. {{nest( cnp, t )}} applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property {{cnp}}, which in turn holds the result collection of t applied to the input set:

          {color:#000000} {color}

          {color:#000000}[ \{ <cnp>: [ <result of t applied to input set> ] } ]{color}

           

          {color:#000000}Amendment: Use "nest" as name for the transformation instead of "transpose"{color}
          An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation {{nest()}} that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The {{nest}} transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. {{nest( cnp, t )}} applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property {{cnp}}, which in turn holds the result collection of t applied to the input set:

              {{<cnp>: [ <result of t applied to input set> ]}}
          handl Ralf Handl made changes -
          Proposal An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation {{nest()}} that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The {{nest}} transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. {{nest( cnp, t )}} applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property {{cnp}}, which in turn holds the result collection of t applied to the input set:

              {{<cnp>: [ <result of t applied to input set> ]}}
          An OData representation of a grid-like result spanned by multiple axes could be achieved by a new transformation {{nest()}} that allows to embed data of grid cells as a nested collection of entities representing grid rows. 

          Relevant excerpt from section 3 in the referenced document: The {{nest}} transformation has two parameters. The first takes the name of a dynamic containment navigation property, the second is a (chain of) $apply transformations. {{nest( cnp, t )}} applies transformation chain t to the input set and creates a result set containing a single entity that only contains the navigation property {{cnp}}, which in turn holds the result collection of t applied to the input set:


          {code:json}
          { <cnp>: [ <result of t applied to input set> ] }
          {code}
          gerald.krause1 Gerald Krause made changes -
          Environment Proposed Applied
          handl Ralf Handl made changes -
          Status Resolved [ 5 ] Applied [ 10002 ]
          heiko.theissen Heiko Theissen made changes -
          Status Applied [ 10002 ] Closed [ 6 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              gerald.krause1 Gerald Krause
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: