reporting-services - SSRS - 根据where子句在表达式中显示字段?
问题描述
我有一个如下所示的数据表。这显示了基于呼叫量的前 3 个子呼叫类别。“order”列是一个行号,显示基于调用的 subcallcategory 所在的顺序。
我正在尝试在 SSRS 中编写一些 DAX,它显示以下内容
焦虑是最常见的咨询电话,其次是工作相关压力和丧亲
我已经编写了下面的代码,但是它似乎没有选择最后两个类别?有人知道我做错了什么吗?
=IIf(Fields!Order.Value = "1" and Fields!Category.Value = "Counselling", Fields!SubCallCategory.Value, "") &
" was the most common counselling call, followed by " &
IIf(Fields!Order.Value = "2" and Fields!Category.Value = "Counselling", Fields!SubCallCategory.Value, "") &
" and " & IIf(Fields!Order.Value = "3" and Fields!Category.Value = "Counselling", Fields!SubCallCategory.Value, "")
以下是我当前的输出
解决方案
正如 Alan 所提到的,您的表达只是查看单行数据。
您需要将此表达式放在按类别分组的表中。
然后,您将在您的 ORDER 中查找那些并使用该 Sub Cat 值。我使用 MAX 和 NULL 来获得匹配的值,例如
=MAX(IIf(Fields!Order.Value = 1, Fields!SubCallCategory.Value, NOTHING)) &
" was the most common " & Fields!Category.Value & " call, followed by " &
MAX(IIf(Fields!Order.Value = 2, Fields!SubCallCategory.Value, NOTHING)) &
" and " & MAX(IIf(Fields!Order.Value = 3, Fields!SubCallCategory.Value, NOTHING))
对于正确 ORDER 中的那些,MAX 将获得超过 NOTHING(SSRS 为 NULL)的 SubCat 值。
这将为咨询提供一条线路,为法律提供一条线路。
您还可以将总数添加到
MAX(IIf(Fields!Order.Value = 1, Fields!Calls.Value, 0))
我假设您的 ORDER 字段是 INTEGER 并且不需要引号。
推荐阅读
- javascript - 在选中的多个复选框上显示多个数据
- omnet++ - omnet++ inet 实现跳频通信
- javascript - 仅按月和年查询 createdAt 日期
- search - 3 年后,我的站点地图中有 1338 个 URL 的网站仍然在 Search Console 中显示 1232 个页面“已抓取 - 当前未编入索引”。这是正常的吗?
- javascript - 作曲家更新 - magento-cloud-metapackage - 您的要求无法解决为一组可安装的软件包
- python - 将python代码拆分为不同的文件
- javascript - 如何在脚本中添加谷歌标签管理器
- javascript - 如何在全屏点击中关闭模态
- nginx - nginx端口跳转返回错误码502
- sql - 将日期与计算的 DATEADD 日期匹配