【发布时间】:2021-12-30 19:51:35
【问题描述】:
如何在分页报表(PowerBi 报表生成器)的单个选择参数中包含“全选”或“全部”。谢谢。
【问题讨论】:
-
非常感谢您的详细解释和换班响应。我只是想知道如何使用针对 DAX 而不是 SQL 优化的 powerbi 构建器来做同样的事情。
标签: reporting-services parameters powerbi
如何在分页报表(PowerBi 报表生成器)的单个选择参数中包含“全选”或“全部”。谢谢。
【问题讨论】:
标签: reporting-services parameters powerbi
您必须将选项添加到提供参数值的数据集查询中,通常您将额外的值合并到其中。例如,如果您有来自Categories 表的类别列表,它可能看起来像这样。
| CategoryID | CategoryName |
|---|---|
| 1 | Cars |
| 2 | Bikes |
| 3 | Trucks |
然后数据集查询看起来像
SELECT *
FROM
(SELECT * FROM Categories
UNION
SELECT 0, 'Select All'
) a
ORDER BY
CASE CategoryID WHEN 0 THEN 0 ELSE 1 END,
CategoryName
这里我使用CASE 语句按字母顺序排序,除了 CategoryID 为 0 以确保它始终出现在列表中的首位。
这给出了以下输出,您可以将其用作参数值..
然后在您的主数据集查询中,您可以执行类似的操作。
SELECT *
FROM myTable
WHERE (catID = @catID OR @catID = 0)
@catID 是 SSRS 参数的名称,0 是您为“全选”选择的任何值
【讨论】:
WHERE (catID = @catID OR @catID = 0) 的查询中,以便在优化查询计划之前修剪包含“SELECT ALL”值的 WHERE 子句。否则,它将为单个选定的@cadID 和Select All 重复使用相同的计划。
UNION( YourCurrentTableExpression ,{(0,"Select All")}) 。查看这些链接 docs.microsoft.com/en-us/dax/union-function-dax 和 radacad.com/…