Appsheet Database integration to PowerBI

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 Solved
0 19 2,986
2 ACCEPTED SOLUTIONS

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 

View solution in original post

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 

View solution in original post

19 REPLIES 19
Top Labels in this Space