Actualización de datos con conjuntos de datos push push

Un usuario Pregunto ✅

beanywilson

Hola a todos

Soy un NOOB completo en esto, metido en el fondo de un proyecto. Seguí el tutorial (https://docs.microsoft.com/en-us/power-bi/developer/walkthrough-push-data) y la solución funciona bien. Intenté agregar una columna a la tabla (NumberSold) y establecí el valor inicial en 1, ahora necesito actualizar ese valor para decir 5. No puedo encontrar una solución en la referencia de API, y todos mis intentos terminan con nuevas filas. Busqué en el foro y no veo una solución.

Supongo que tendré que eliminar todas las filas y actualizar, lo que podría ser un problema, dado el tamaño final del conjunto de datos que se me pide que cree.

El codigo es

AddRows vacíos estáticos privados (string datasetId, string tableName)
{
string powerBIApiAddRowsUrl = String.Format («https://api.powerbi.com/v1.0/myorg/datasets/{0}/tables/{1}/rows», datasetId, tableName);

Solicitud HttpWebRequest = System.Net.WebRequest.Create (powerBIApiAddRowsUrl) como System.Net.HttpWebRequest;
request.KeepAlive = true;
request.Method = «POST»;
request.ContentLength = 0;
request.ContentType = «aplicación / json»;

// Agregar token al encabezado de la solicitud
request.Headers.Add («Autorización», String.Format («Portador {0}», token));

// Contenido JSON para la fila de productos
string filasJson = «{» filas «:» +
«[{«ProductID»:1,»Name»:»Adjustable Race»,»Category»:»Components»,»ManufacturedOn»:»07/30/2015″,»NumberSold»:5},» +
«{«ProductID»:2,»Name»:»LL Crankarm»,»Category»:»Components»,»ManufacturedOn»:»07/30/2014″,»NumberSold»:5},» +
«{«ProductID»:3,»Name»:»HL Mountain Frame – Silver»,»Category»:»Bikes»,»ManufacturedOn»:»07/30/2014″,»NumberSold»:5}]} «;

// POST solicitud web
byte[] byteArray = System.Text.Encoding.UTF8.GetBytes (rowsJson);
request.ContentLength = byteArray.Length;

// Escribe el byte JSON[] en una corriente
usando (Stream writer = request.GetRequestStream ())
{
escritor.Escribir (byteArray, 0, byteArray.Length);

var respuesta = (HttpWebResponse) request.GetResponse ();

Console.WriteLine («Filas agregadas»);

}
}

Jayendran

Hola @beanywilson,

Desafortunadamente, hay algunas funciones menos disponibles para Push DataSet API, una de ellas es actualizar las filas

Puede encontrar la funcionalidad disponible para Push DataSet API a continuación

https://docs.microsoft.com/en-us/rest/api/power-bi/pushdatasets

Según esa solo 2 funciones disponibles para Filas, puede agregar nuevas filas o eliminar filas

Conjuntos de datos DeleteRows

Conjuntos de datos PostRows

Le sugiero que proporcione esta funcionalidad como una nueva idea en el Foro de ideas.

beanywilson

Gracias, @Jayendran – Alguien preguntó hace 3 años – https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/9366600-update-rows-rest-api – todavía no hay movimiento, aunque fue enviado para revisión hace 3 años?

Lewis-H

Pasos para enviar datos a un conjunto de datos

  • Paso 1: registrar una aplicación con Azure AD
  • Paso 2: obtenga un token de acceso de autenticación
  • Paso 3: crear un conjunto de datos en Power BI
  • Paso 4: obtenga un conjunto de datos para agregar filas a una tabla de Power BI
  • Paso 5: agregar filas a una tabla de Power BI

La siguiente sección es una discusión general de las operaciones de la API de Power BI que envían datos.

Operaciones de la API de Power BI para enviar datos

Con la API REST de Power BI, puede enviar orígenes de datos a Power BI. Cuando una aplicación agrega filas a un conjunto de datos, los mosaicos del tablero se actualizan automáticamente con los nuevos datos. Para enviar datos, use el PostDataSet y PostRows operaciones. Para encontrar un conjunto de datos, use el obtener DataSet operación. Puede pasar un ID de grupo para trabajar con un grupo para cualquiera de estas operaciones. Para obtener una lista de ID de grupo, use los grupos de obtención operación.

Estas son las operaciones para enviar datos a un conjunto de datos:

  • PostDataset
  • Obtener conjuntos de datos
  • Filas de publicaciones
  • Obtener grupos

Puede crear un conjunto de datos en Power BI pasando una cadena de notación de objetos JavaScript (JSON) al servicio Power BI.

La cadena JSON de un conjunto de datos tiene el siguiente formato:

Objeto JSON de conjunto de datos de Power BI

{"name": "dataset_name", "tables":
    [{"name": "", "columns":
        [{ "name": "column_name1", "dataType": "data_type"},
         { "name": "column_name2", "dataType": "data_type"},
         { ... }
        ]
      }
    ]
}

Para nuestro ejemplo de conjunto de datos de marketing de ventas, pasaría una cadena JSON como se muestra a continuación. En este ejemplo, Ventas y Marketing es el nombre del conjunto de datos y Producto es el nombre de la tabla. Después de definir la tabla, define el esquema de la tabla. Para el Ventas y Marketing conjunto de datos, el esquema de la tabla tiene estas columnas: ProductID, Manufacturer, Category, Segment, Product e IsCompete.

Ejemplo JSON de objeto de conjunto de datos

{
    "name": "SalesMarketing",
    "tables": [
        {
            "name": "Product",
            "columns": [
            {
                "name": "ProductID",
                "dataType": "int"
            },
            {
                "name": "Manufacturer",
                "dataType": "string"
            },
            {
                "name": "Category",
                "dataType": "string"
            },
            {
                "name": "Segment",
                "dataType": "string"
            },
            {
                "name": "Product",
                "dataType": "string"
            },
            {
                "name": "IsCompete",
                "dataType": "bool"
            }
            ]
        }
    ]
}

¡Espero que esta información te ayude!

Saludos,

Luis

Desarrollador

Apps4rent | O365CloudExperts

beanywilson

En respuesta a Lewis-H

Gracias @ Lewis-H. Hice eso y cada inserción de datos crea una nueva fila. Terminé usando una puerta de enlace y actualizando los datos históricos, y ahora mira la transmisión en tiempo real. Gracias por la sugerencia.

Saludos

Jayendran

Hola @beanywilson,

Desafortunadamente, hay algunas funciones menos disponibles para Push DataSet API, una de ellas es actualizar las filas

Puede encontrar la funcionalidad disponible para Push DataSet API a continuación

https://docs.microsoft.com/en-us/rest/api/power-bi/pushdatasets

Según esa solo 2 funciones disponibles para Filas, puede agregar nuevas filas o eliminar filas

Conjuntos de datos DeleteRows

Conjuntos de datos PostRows

Le sugiero que proporcione esta funcionalidad como una nueva idea en el Foro de ideas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *