Planning Analytics

 View Only
  • 1.  LastSchemaUpdate value on Cube (via REST API)

    Posted Fri September 06, 2024 11:24 AM

    What is the specification for updates to LastSchemaUpdate on Cube(s)?

    I'm looking at a few of our cloud and v12 models and for Production and Development near enough if not every cube has an update in the past week or two?



    ------------------------------
    Edward Stuart
    Solutions Director
    Spitfire Analytics Limited
    Manchester
    07870218854
    ------------------------------


  • 2.  RE: LastSchemaUpdate value on Cube (via REST API)

    Posted Mon September 09, 2024 03:33 AM

    As the name suggests it does not include updates to data but it supposedly build of the date-time the last update was made to the cube itself (typically a change to the Rules), the date-time the last update was made to any of the dimension and the last user-group reassignment that has happened as this can have effect on the security applied and as such what is visible to the user. A change to a dimension not only includes not only changes to the dimension itself (read: add/remove/managed elements) but also includes any element security updates as well as changes to attributes associated to the dimension.

    FYI Depending on what type of change you are after you might or might not want to use this property to be honest (it's IMHO a left over from the OLE-DB for OLAP days/specification), in v12, if you are interesting in knowing if something is changed, etags are the way forward to look at. 



    ------------------------------
    Hubert Heijkers
    STSM, Program Director TM1 Functional Database Technology and OData Evangelist
    ------------------------------



  • 3.  RE: LastSchemaUpdate value on Cube (via REST API)

    Posted Mon September 09, 2024 06:40 AM

    Thanks Hubert,

    So the suggestion is that the etag hash value will maintain until such a point where the Cube is rebuilt? Reading up on etag's and this relates to data concurrency and maintaining data integrity. 

    I was loosely looking to identify the last time a DimensionStorageOrder change was made but my guess would be that the etag only changes when the cube is destroyed and rebuilt.



    ------------------------------
    Edward Stuart
    Solutions Director
    Spitfire Analytics Limited
    Manchester
    07870218854
    ------------------------------



  • 4.  RE: LastSchemaUpdate value on Cube (via REST API)

    Posted Mon September 09, 2024 05:41 PM

    Etags are first and foremost meant to identify individual versions of an entity and, even more importantly, the fact that it changed or not. If you want to study etags in a bit more detail have a look at the protocol specification for OData, the standard TM1's REST API complies to, and search etag in there. Also note that apart from the etag headers there is also an @odata.etag annotation that can be used, mainly in collections, that can also be used to return the entity/object's etag (you'll probably have seen TM1 do that already).

    As for changes, in the case of a TM1 Cube entity, any change that changes the definition (read: metadata) for a cube would change the etag for the cube. However, having taken a quick peek at the code, I noticed that a change to the storage order does not (we don't store the storage order in the metadata but rather in the data (.cub) file. We have created an issue to take a look at this and fix that.



    ------------------------------
    Hubert Heijkers
    STSM, Program Director TM1 Functional Database Technology and OData Evangelist
    ------------------------------