Power BI参数:将参数设置为标签:值类型

时间:2019-04-10 11:53:38

标签: powerbi

我正在尝试将参数传递给存储过程,以将数据从MSSQL源检索到Power BI数据集,该数据集接受特定值作为输入。

请参考下表:

Label    |  Value
---------+-------
Male     |  M
Female   |  F

我想在报告刷新提示上的标签中显示该值,同时将字段中的值传递给存储过程

存储过程不接受标签字段中的值。

有人解决此问题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用所有可能的标签值(即MaleFemale)的值列表创建文本参数:

enter image description here

制作一个包含参数值的表。从Blang query获取数据:

enter image description here

并使用如下表达式:

= #table({"EmployeeGender"},{{#"EmployeeGender"}})

然后从数据库中获取数据,但是使用CASE这样的表达式将参数值(标签值)转换为数据库值(实际值):

case {PARAMETER} when 'Male' then 'M' when 'Female' then 'F' end

或在M:

= Sql.Database("SERVERNAME", "DATABASENAME", [Query="select * from dbo.SelectEmployees(case '" & EmployeeGender & "' when 'Male' then 'M' when 'Female' then 'F' end)"])

使用&可以连接字符串,EmployeeGender是参数的名称,该参数的名称将替换为它的值(MaleFemale),然后是SQL Server将执行case语句以将“标签值”解码为“实际值”(即MF)。

然后将查询返回的结果和帮助程序表的内容放入报告中。更改参数值时,您只会看到数学当前参数值的那些行,并会看到适当的标签:

enter image description here