/// <summary> /// Creates datasets in Power BI /// </summary> /// <param name="TableName">string</param> /// <returns>bool, true if dataset created</returns> internal bool CreateDatasets(string TableName, XmlNode xnData, out string[] NewDataset) { DataSet dsData = new DataSet(); SqlDataAdapter objData; if (TableName.Contains(",")) { string[] sarrTables = TableName.Split(','); foreach (string sTableName in sarrTables) { //Fetch columns from XML string sColumns = xnData.SelectSingleNode("./JobMetadata[@Datasetname='" + sTableName + "']").Attributes["Columns"].Value; sColumns = BuildSQLColumn(sColumns); objData = new SqlDataAdapter("SELECT " + sColumns + " FROM [" + sTableName + "] T1 ", ConnectionString); objData.Fill(dsData, sTableName); Log.WriteMessage("Filling the dataset"); } } else { //Fetch columns from XML string sColumns = xnData.SelectSingleNode("./JobMetadata[@Datasetname='" + TableName + "']").Attributes["Columns"].Value; sColumns = BuildSQLColumn(sColumns); objData = new SqlDataAdapter("SELECT " + sColumns + " FROM [" + TableName + "] T1 ", ConnectionString); objData.Fill(dsData, TableName); Log.WriteMessage("Filling the dataset"); } //Create a POST web request to list all datasets HttpWebRequest request = GetDatasetRequest(datasetsUri, "POST", GetAccessToken()); Log.WriteMessage("Posting request using Json Schema"); string strJason = JSONBuilder.GetJsonSchema(dsData, PowerBIDatasetName); string responseContent = PostRequest(request, strJason); //Get list from response if (responseContent != "") { NewDataset = responseContent.Split(','); } else { NewDataset = null; } request = null; return(true); }