Forum Discussion

roalexan's avatar
roalexan
Icon for Microsoft Employee rankMicrosoft Employee
6 years ago
Solved

How to use selected slicer value as query parameter in web call

I'm a little blocked trying to figure out how to make a web service call using what the user selected in a slicer as the value of a query parameter. As a simplified example, say my web service takes a single JSON product id (pid), and returns a single JSON value (price), transforms it to a table, and shows it in the UI. I can create a query that does:

let
selected_pid_value = "a",
url = "<myurl>",
body = Json.FromValue([pid = selected_pid_value]),
Source = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json"], Content = body ] )),
#"Converted to Table" = Record.ToTable(Source)
in
#"Converted to Table"

and this will work because I hard-coded the value for selected_pid_value. Now say I create a new table called "pid" using the following:

click: Enter Data
enter: a, b, c
type: Name: pid
click: Load

Create a slicer for it, and lastly create a measure for it using:

pid_value = SELECTEDVALUE(pid[Value])

Then, instead of hard-coding the value for selected_pid_value above, I use:

selected_pid_val = [pid_value],

This gives me the following error:

Expression.Error: There is an unknown identifier. Did you use the [field] shorthand for a _[field] outside of an 'each' expression?

3 Replies