【问题标题】:Report generation based on multi lookup and dynamic columns基于多查找和动态列的报告生成
【发布时间】:2014-04-22 10:34:13
【问题描述】:

我对我试图在Excel 中生成的报告有点卡住,希望有人能提供帮助。 以下是我正在尝试做的总结:

  • 表 1 有一列称为人员(它基本上是一个列表 员工)
  • 表 2 有一列称为国家(基本上是 相关国家名单)
  • 表 3 有三列称为人员, 国家和日期。

每个人每次查看一个国家/地区时都有一个条目。

所以数据看起来像:

人 |国家 |日期
约翰 |英国 | 2013 年 10 月 1 日
保罗 |英国 | 15/01/2013
约翰 |法国 | 15/01/2013
鲍勃 |西班牙 | 16/01/2013

我需要制作的报告显示谁已经/没有检查过每个国家/地区。 因此,这些列将是“Person”、英国、法国、西班牙(以及国家/地区表中的任何其他唯一值)。

如果该人已审查过该国家/地区,则每个人在相关列中将有一行带有“是/否”值,即表 3 包含与该个人和国家/地区的该值相匹配的值。

所以要明确报告应该类似于:

人 |英国 |法国 |西班牙
约翰 |是 |是 |不
保罗 |是 |没有 |不
鲍勃 |没有 |没有 |是的

总的来说,我可以将其分为两个问题:

  1. 如何为另一个表中的每个唯一值生成一个表(上面解释中的国家/地区)

  2. 如何进行双重查找,即IF EXISTS in TABLE 3 ‘person’=john & ‘country’=uk,然后返回“是”,否则返回“否”

我很乐意保留Excel 或使用SQL 报告,即先将我的数据移至SQL

【问题讨论】:

    标签: excel reporting-services report reporting ssrs-tablix


    【解决方案1】:

    这是一个不可靠的公式,但 =sumproduct() 会进行双重查找。

    =IF(SUMPRODUCT(--($K$2:$K$5=$K13), --($L$2:$L$5=M$10)),"Yes","No")

    Person/Country/Date 表位于K1:M5 范围内,结果表位于K10:N13 范围内。我打开一本工作簿,把它放在角落里。 (没有人把 sumproduct 放在角落里)

    要点是,-- 将 true 和 false 转换为 1 或 0。 sumproduct 会将两个结果逐行相乘。如果两者都是正确的,您将得到 1 x 1 并将其汇集到 if 中以获得是和否。您必须注意公式中的$

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多