Which visualization tool should I use?
Based on your explanation, $z$ is not a parameter so your function can be simplified like this:
$$f(x,y,a) = x*y*z(x)*a\text{, where } x,y \in \mathbb{Q}\cap[0,1000], a\in\{2,3\} $$
Note that $z(x)$ is a piecewise function. Also $a$ can have only two values so $f$ can be divided into $f_2$ and $f_3$, each of these having only two arguments so it simplifies things.
I don't know Tableau or Powerbi so I can't advise about that. I use R and I played a bit with your function. For a global visualization I came up with a kind of heat map like this:

In case you're interested, I did it like this with R:
library(ggplot2)

myrandomdata &lt;- function(n) {
  a2 &lt;- data.frame(x=runif(n,0,1000),y=runif(n,0,1000),z=20,a=rep(2,n))
  a3 &lt;- data.frame(x=runif(n,0,1000),y=runif(n,0,1000),z=20,a=rep(3,n))
  df &lt;- rbind(a2,a3)
  df$z[df$z&lt;=500] &lt;- 10
  df$z[df$z&lt;=200] &lt;- 5
  df$z[df$z&lt;=100] &lt;- 2
  df$f &lt;- df$x *df$y * df$z * df$a
  df
}

df &lt;- myrandomdata(50000)
ggplot(df,aes(x,y,colour=f))+geom_point()+facet_grid(a~.)+scale_color_gradient(low=&quot;blue&quot;, high=&quot;red&quot;)

(using random sampling is probably not the standard way but it was the easy way)