Skip to Content
avatar image
Former Member

VizFrame: Obscure error message 50053

Hi,

creating a VizFrame, I encounter the following error message:

Anlegen des Diagramms fehlgeschlagen:[50053] - Unvollständige Dimensionsbindung

In english:

Failed to create diagram - Incomplete dimension binding

This happens due to my VizFrame definition which looks like this:

var dataModel = new sap.ui.model.json.JSONModel(data);

var vizFrame = this.getView().byId("idVizFrameLine");
var popOver = this.getView().byId("idPopOver");


var dataset = new sap.viz.ui5.data.FlattenedDataset({
   dimensions: [{
        name: 'Last x months',
        value: "{Erdat}"
      }],
      measures: [{
        name: 'Posting Rate',
        value: '{RateMmPosted}'
      }],
      data: {
        path: "/results"
      }
});


vizFrame.setVizProperties({
  valueAxis: {
        label: {
          formatString: 'u'
        }
  },
  dataPointStyle: {
        "rules": [{
          "dataContext": [{
            "Erdat": ""
          }],
          "properties": {
            "dataLabel": true
          },
          "displayName": ""
        }],
        "others": {
          "properties": {
            "dataLabel": false
          },
          "displayName": "Others"
        }
      },
      
      lineStyle: {
          rules: [{
            dataContext: [{
              Erdat: ""
            }],
            properties: {
              width: 4
            }
          }]
        },


      title: {
        visible: true,
        text: 'Posting Rate for the last three months'
      }
});


vizFrame.setModel(dataModel);
vizFrame.setDataset(dataset);


var feedValueAxis = new sap.viz.ui5.controls.common.feeds.FeedItem({
   'uid': "valueAxis",
   'type': "Measure",
   'values': ["RateMmPosted"]
}),
feedCategoryAxis = new sap.viz.ui5.controls.common.feeds.FeedItem({
   'uid': "categoryAxis",
   'type': "Dimension",
   'values': ["Erdat"]
}),
feedColor = new sap.viz.ui5.controls.common.feeds.FeedItem({
   'uid': "color",
   'type': "Dimension",
   'values': ["Erdat"]
});


vizFrame.addFeed(feedValueAxis);
vizFrame.addFeed(feedCategoryAxis);
vizFrame.addFeed(feedColor);
popOver.connect(vizFrame.getVizUid());

Erdat is an ISO formatted date, RateMmPosted is a double value. The graph is painted when I use the mock data and code from the Sample: Line with Conditional Data Label from the Explored section.

What's the best way to get the graph running.

Is it possible to do something like when dates are not supported?

var dataset = new sap.viz.ui5.data.FlattenedDataset({
   dimensions: [{
        name: 'Last x months',
        value: "{Erdat.getMonth()}"
      }],
      measures: [{
        name: 'Posting Rate',
        value: '{RateMmPosted}'
      }],

Kind regards,

Michael

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Feb 19, 2016 at 10:04 AM

    I'm trying to wrap this topic up with what I think is the correct solution to the problem at the time.

    In the dataset, the name attribute has to be same as in the values arrays of the feeds.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 27, 2015 at 01:16 PM

    After solving this error temporarily, it's hounding me again, because my chart legend looks awful. It's filled with the OData service property names.

    Why can't I do the following?

    1. var dataset = new sap.viz.ui5.data.FlattenedDataset({ 
    2.    dimensions: [{ 
    3.         name: 'Date', 
    4.         value: "{Erdat}" 
    5.       }], 
    6.       measures: [{ 
    7.         name: 'Rate', 
    8.         value: '{RateMmPosted}' 
    9.       }], 
    10.       data: { 
    11.         path: "/results" 
    12.       } 
    13. }); 


    To me it would be plausible that "name" refers to the legend name, or the nice name, whereas "value" refers to the technical name, which can be whatever the service offers. Here a screen of the legend:

    Has anyone an idea how to set "nice" names for the legend and chart properties?

    Oh, and in case you get the 50003 error, it's probably of the different names between name and value.


    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 17, 2015 at 11:05 AM

    Hi Michael,

    Have you solved your issue? what is your solution.

    same issue happened to me 😔.

    Best Regards

    Jone.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Jone,

      I can't remember the error from that time, but here is our working solution:

      var vizFrame = this.getView().byId(idToPlaceGraph);

      vizFrame.setVizProperties({

        title: {

              visible: true,

              text: 'Hot stuff'

          },

          legend: {

              visible: false

          },

        valueAxis: {

        title: {

        text: 'Rate of documents posted to Tardis',

        }

        },

        categoryAxis: {

        title: {

        text: 'Date'

        }

        }

      });

      var dataset = new sap.viz.ui5.data.FlattenedDataset({

        dimensions: [

           {

               name: 'Erdat',

               value: {

                path: 'Erdat',

                type: new sap.ui.model.type.Date({pattern: "MM/dd/yyyy"})

               }

           }

        ],

          measures: [

              {

               name: 'RateMmPosted',

               value: {

                path: 'RateMmPosted'

               }

              }

          ],

          data: {

              path: "/ServiceWho",

              filters: [

             new sap.ui.model.Filter("DateFrom", sap.ui.model.FilterOperator.EQ, this._getStartDateAsString()),

             new sap.ui.model.Filter("DateTo", sap.ui.model.FilterOperator.EQ, this._getCurrentDateAsString()),

             new sap.ui.model.Filter("Mode", sap.ui.model.FilterOperator.EQ, mode),

             new sap.ui.model.Filter("Lifnr", sap.ui.model.FilterOperator.EQ, lifnr),

             new sap.ui.model.Filter("Bukrs", sap.ui.model.FilterOperator.EQ, bukrs)

          ],

          templateShareable: false

          }

      });

      vizFrame.setDataset(dataset);

      var feedCategoryAxis = new sap.viz.ui5.controls.common.feeds.FeedItem({

          'uid': "categoryAxis",

        'type': "Dimension",

        'values': ["Erdat"]

      });

      var feedValueAxis = new sap.viz.ui5.controls.common.feeds.FeedItem({

          'uid': "valueAxis",

          'type': "Measure",

          'values': ["RateMmPosted"]

      });

      vizFrame.addFeed(feedValueAxis);

      vizFrame.addFeed(feedCategoryAxis);

      var popOver = this.getView().byId(popoverId);

      popOver.connect(vizFrame.getVizUid());

      The Measure is the y-axis, the dimension the x-axis. Multiple measures are possible, when you use a combination graph, you need two measures, the first measure is for the bar chart, the second measure for the line graph.

      It took a while to get this to work, because of the lacking documentation and examples of course.

      Kind regards,

      Michael