Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
16 | |
2 | |
2 | |
1 | |
1 |