Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hello all,
I would like to get the data from SAP R/3 module using power bi.
When i googled it I came to know that, this is not yet implemented in power bi.
here is the link.
But there is team who is able to connect with SAP R/3 module and consume the data using webservice.
This is the m language script that we have got on search.
Web.Contents("http://some.url", [Headers=[ #"Content-Type"="application/json"]])
OUR json consist of following input parameters to be passed in body
input:
{
"projectCode":"xyz",
"index":0,
"searchString":"",
"filterColumn":"",
"filterType":"" }
we dont know how to pass these parameters while consuming this web service URL .
Please suggest.
Thanks
Mohan.V
Solved! Go to Solution.
@Anonymous
Here's a sample sending a request with JSON in the body which works in my test before this post. You Power Query code looks good. As the response message shows "invalid input parameters", I'd doubt you've not sent every parameter the API expects.
I'm not familiar with your SAP R/3 web service, just ensure that the API can be accessed in other API test tools, like POSTMAN. After that you can tweak the API by using Power Query.
let AuthKey = "Bearer youTokenHere", url = "https://api.powerbi.com/v1.0/myorg/datasets", body = "{""name"": ""SalesMarketing2"",""tables"": [{""name"": ""Product"", ""columns"": [{ ""name"": ""ProductID"", ""dataType"": ""Int64""}, { ""name"": ""Name"", ""dataType"": ""string""}, { ""name"": ""Category"", ""dataType"": ""string""}, { ""name"": ""IsCompete"", ""dataType"": ""bool""}, { ""name"": ""ManufacturedOn"", ""dataType"": ""DateTime""} ] } ] }", Source = Json.Document(Web.Contents(url,[ Headers = [#"Authorization"=AuthKey , #"Content-Type"="application/json"], Content = Text.ToBinary(body) ] )) in Source
I am able to hit the webservice url
but getting invalid parameters with zero results.
here is the m script that i have used.
let url = "https://url", body = "{ ""query"":[ { ""EMP_ID"": ""if"", ""userName"":""name"", ""lastAccessedDateTime"":""2016-10-18T07:10:40.000Z"", ""deviceId"":""id"", ""appKey"":""key"", ""tokenid"":""kkshdsfif"", ""appType"":""web"" } ] }", Source = Json.Document(Web.Contents(url,[ Headers = [#"ContentType"="application/json"] Content = Text.ToBinary(body) ] )) in Source
Here is the output
Can anybody please suggest me.
Mohan.V
@Anonymous
Here's a sample sending a request with JSON in the body which works in my test before this post. You Power Query code looks good. As the response message shows "invalid input parameters", I'd doubt you've not sent every parameter the API expects.
I'm not familiar with your SAP R/3 web service, just ensure that the API can be accessed in other API test tools, like POSTMAN. After that you can tweak the API by using Power Query.
let AuthKey = "Bearer youTokenHere", url = "https://api.powerbi.com/v1.0/myorg/datasets", body = "{""name"": ""SalesMarketing2"",""tables"": [{""name"": ""Product"", ""columns"": [{ ""name"": ""ProductID"", ""dataType"": ""Int64""}, { ""name"": ""Name"", ""dataType"": ""string""}, { ""name"": ""Category"", ""dataType"": ""string""}, { ""name"": ""IsCompete"", ""dataType"": ""bool""}, { ""name"": ""ManufacturedOn"", ""dataType"": ""DateTime""} ] } ] }", Source = Json.Document(Web.Contents(url,[ Headers = [#"Authorization"=AuthKey , #"Content-Type"="application/json"], Content = Text.ToBinary(body) ] )) in Source