Forum Discussion

tsherwood's avatar
tsherwood
Regular Visitor
9 years ago
Solved

REST API Post rows to dependent table?

I have created a dataset via REST that has four tables: A, B, C, D. Table B has a dependent relationship on A, and D has a dependent relationship on B & C.

 

I wrote a program to load the data in the following order: A, C, B, D. The program loads A & C fine, but times out trying to load B. When I remove the relationships all four tables load fine.

 

Is there a better way to load dependent tables?

  • tsherwood's avatar
    tsherwood
    9 years ago

    I discovered the error to be failure to close the previous response object. For your reference, documentation on setting up table relationships (as well as other properties) in datasets can be found at https://msdn.microsoft.com/en-us/library/mt742155.aspx.

     

    Here is sample JSON for a dateset I used to test:

     

    {

    "name": "SampleData",

    "tables": [

    {

    "name": "TABLE_A",

    "columns": [

    { "name": "PRIMARY_KEY_A", "dataType": "string", "isHidden": "true" },

    { "name": "CUSTOMER_NAME", "dataType": "string" },

    { "name": "CUSTOMER_ID", "dataType": "Int64", "summarizeBy": "sum", "formatString": "#,##0;(#,##0)" },

    { "name": "SALES", "dataType": "Decimal", "summarizeBy": "sum", "formatString": "$#,##0;($#,##0)" }

    ]

    },

    {

    "name": "TABLE_B",

    "columns": [

    { "name": "FOREIGN_KEY_A", "dataType": "string", "isHidden": "true" },

    { "name": "CITY", "dataType": "string", "summarizeBy": "none" }

    ]

    }

    ],

    "relationships": [

    {

    "name": "TABLE_B_TABLE_A_REL",

    "crossFilteringBehavior": "BothDirections",

    "fromTable": "TABLE_B",

    "fromColumn": "FOREIGN_KEY_A",

    "toTable": "TABLE_A",

    "toColumn": "PRIMARY_KEY_A"

    }

    ]

    }

     

3 Replies

  • Eric_Zhang's avatar
    Eric_Zhang
    Icon for Microsoft Employee rankMicrosoft Employee

    tsherwood wrote:

    I have created a dataset via REST that has four tables: A, B, C, D. Table B has a dependent relationship on A, and D has a dependent relationship on B & C.

     

    I wrote a program to load the data in the following order: A, C, B, D. The program loads A & C fine, but times out trying to load B. When I remove the relationships all four tables load fine.

     

    Is there a better way to load dependent tables?


    tsherwood

    "B has dependent relationship on A", can you ensure that every referenced rows in A from B are imported before pushing data to B?

    By the way, I'm not aware of the API creating dataset with tables in relationship, could you give me a demo or link?

    • tsherwood's avatar
      tsherwood
      Regular Visitor

      I discovered the error to be failure to close the previous response object. For your reference, documentation on setting up table relationships (as well as other properties) in datasets can be found at https://msdn.microsoft.com/en-us/library/mt742155.aspx.

       

      Here is sample JSON for a dateset I used to test:

       

      {

      "name": "SampleData",

      "tables": [

      {

      "name": "TABLE_A",

      "columns": [

      { "name": "PRIMARY_KEY_A", "dataType": "string", "isHidden": "true" },

      { "name": "CUSTOMER_NAME", "dataType": "string" },

      { "name": "CUSTOMER_ID", "dataType": "Int64", "summarizeBy": "sum", "formatString": "#,##0;(#,##0)" },

      { "name": "SALES", "dataType": "Decimal", "summarizeBy": "sum", "formatString": "$#,##0;($#,##0)" }

      ]

      },

      {

      "name": "TABLE_B",

      "columns": [

      { "name": "FOREIGN_KEY_A", "dataType": "string", "isHidden": "true" },

      { "name": "CITY", "dataType": "string", "summarizeBy": "none" }

      ]

      }

      ],

      "relationships": [

      {

      "name": "TABLE_B_TABLE_A_REL",

      "crossFilteringBehavior": "BothDirections",

      "fromTable": "TABLE_B",

      "fromColumn": "FOREIGN_KEY_A",

      "toTable": "TABLE_A",

      "toColumn": "PRIMARY_KEY_A"

      }

      ]

      }

       

      • Eric_Zhang's avatar
        Eric_Zhang
        Icon for Microsoft Employee rankMicrosoft Employee

        Thanks for sharing. It looks the API reference documentation is updated, I didn't find such relationship before. Thanks again. :)