Hi,
I'm new to Appsheet and I have an issue as foolowing:
I have an Appsheet with datasource as Appsheet database. I'm trying to create a report in PowerBI with the above database. I wanted to know if there's any way of integrating the Appsheet database to PowerBI or is there any workarounds where I can use the API or how can I use the built-in Automation bots for getting the data to get the data near real time.
@Suvrutt_Gurjar @dbaum @WillowMobileSys
Solved! Go to Solution.
Here is the code to finally simplify things and give you a proper response:
let
url = "https://api.appsheet.com/api/v2/apps/{appId}/tables/{tableName}/Action?applicationAccessKey=<applicationAccessKey>",
body = "{
""Action"": ""Find"",
""Properties"": {
""Locale"": ""en-US"",
""Location"": ""47.623098, -122.330184"",
""Timezone"": ""Pacific Standard Time""
},
""Rows"": [
]
}",
Source = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json"], Content = Text.ToBinary(body) ] )),
#"Into a table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Into a table"
Then what is left is you to split the result adding a final step where you just select the columns you need.
PS: Remember that AppSheet will apply security filters, that's a topic for other day I guess
PS2: You can tell PowerBI that the authentication needed to conect is "Anonymous" since the auth token is in the code in this case
Btw, here is an updated version I just made to make it easier to complete with your own data:
let
AppId = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
Table = "TableNameHere",
ApiKey = "xx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx",
url = Text.Combine({"https://api.appsheet.com/api/v2/apps/", AppId, "/tables/", Table, "/Action?applicationAccessKey=", ApiKey}),
body = "{
""Action"": ""Find"",
""Properties"": {
""Locale"": ""en-US"",
""Location"": ""00.000000, 00.000000"",
""Timezone"": ""Pacific Standard Time"",
""UserSettings"": {
""Option 1"": ""SomeText"",
""Option 2"": ""SomeText""
}
},
""Rows"": [
]
}",
Source = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json"], Content = Text.ToBinary(body) ] )),
#"Into a table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Into a table"
Just replace with your data inside the AppId, Table and ApiKey variables
User | Count |
---|---|
30 | |
16 | |
3 | |
3 | |
3 |