在Microsoft Report Viewer中加入两个表(SSRS 2012)

时间:2014-06-09 05:29:27

标签: c# reporting-services

我有两个数据库表

发票表(PK InvoiceNo)

InvoiceDate | InvoiceNo |  Name |  Class | AmountPaid
  2014-6-5  |   B001    |  ABC  |   E1   |   1500.00
  2014-6-5  |   B002    |  BCD  |   E1   |   2000.00
  2014-6-5  |   B003    |  CDE  |   E3   |   1000.00
  2014-6-5  |   B004    |  ABC  |   E3   |   3000.00
  2014-6-6  |   B005    |  BCD  |   E2   |   5000.00
  2014-6-6  |   B006    |  CCD  |   E1   |   2000.00

Expences Table(PK Date,Description)

    Date    | Description |  Cost 
  2014-6-5  |  Lunch      | 150.00 
  2014-6-5  |  SoftDrink  |  50.00 
  2014-6-6  |  BusFair    |  10.00 

我想使用这两个表创建报告。我期待的是

InvoiceDate | InvoiceNo |  Name |  Class | AmountPaid | Description  |  Cost 
  2014-6-5  |   B001    |  ABC  |   E1   |   1500.00  |   Lunch      | 150.00
            |   B002    |  BCD  |   E1   |   2000.00  |   SoftDrink  |  50.00
            |   B003    |  CDE  |   E3   |   1000.00  |     
            |   B004    |  ABC  |   E3   |   3000.00  |
  2014-6-6  |   B005    |  BCD  |   E2   |   5000.00  |   BusFair    |  10.00
            |   B006    |  CCD  |   E1   |   2000.00  |

但我的输出看起来像这样

 InvoiceDate | InvoiceNo |  Name |  Class | AmountPaid | Description  |  Cost 
  2014-6-5  |   B001    |  ABC  |   E1   |   1500.00  |   Lunch      | 150.00
            |   B002    |  BCD  |   E1   |   2000.00  |   Lunch      | 150.00
            |   B003    |  CDE  |   E3   |   1000.00  |   Lunch      | 150.00
            |   B004    |  ABC  |   E3   |   3000.00  |   Lunch      | 150.00
            |   B001    |  ABC  |   E1   |   1500.00  |   SoftDrink  |  50.00
            |   B002    |  BCD  |   E1   |   2000.00  |   SoftDrink  |  50.00
            |   B003    |  CDE  |   E3   |   1000.00  |   SoftDrink  |  50.00
            |   B004    |  ABC  |   E3   |   3000.00  |   SoftDrink  |  50.00
  2014-6-6  |   B005    |  BCD  |   E2   |   5000.00  |   BusFair    |  10.00
            |   B006    |  CCD  |   E1   |   2000.00  |   BusFair    |  10.00

请帮我解决这个问题...

1 个答案:

答案 0 :(得分:0)

你遇到了两个问题:

  1. 您需要为InvoiceDate和Description添加SSRS组,并以与您似乎已为InvoiceDate相同的方式配置表上的Description字段(因此它仅出现在组行中,不在细节中。

  2. 您的“Expences”表不应使用Date + Description作为PK。它应该有自己的“ExpenceID”类型字段,并且“InvoiceNO”FK返回“发票”表。没有正确的密钥,仅加入“日期”将导致笛卡尔。

  3. 请注意,#2比#1更重要 - 在您修复数据问题之前,您的时间会很糟糕。