首页 文章

如何动态删除交叉表列

提问于
浏览
2

Preamble: 我有一个如下的交叉表:

  • 行组:月份,从1月到12月;

  • 列组:名称;

  • 列总计和行总计 .

它实际上显示了数据库中每个人在参数年度中花费的总金额 . 我的数据源是Postgres数据库,我正在使用查询检索数据 .

在我的数据库中,我正在使用一些“空白”记录,用于部分提取:因为我需要显示所有月份,并且我在5月份运行此示例,我将需要在1月至12月期间显示 .

我的数据库看起来像这样:

ID  |  NAME  |  MONTH     |  YEAR  |  MONEY  
   1  |  Marco |  January   |  2014  |  150.0
   2  |  Marco |  February  |  2014  |   80.0
   3  |  Marco |  March     |  2014  |  135.5
   4  |  Marco |  April     |  2014  |   50.0
   5  |  Marco |  May       |  2014  |  200.0
   6  |        |  June      |  2014  |    0.0
   7  |        |  July      |  2014  |    0.0
   8  |        |  August    |  2014  |    0.0
   9  |        |  September |  2014  |    0.0
  10  |        |  October   |  2014  |    0.0
  11  |        |  November  |  2014  |    0.0
  12  |        |  December  |  2014  |    0.0

前5行是“常规”记录的示例,其他的是关于我在报告中使用12个月交叉表所需的“黑客”行 .

Problem: 如果我从1月到11月运行此报告,此解决方案会将我带到一个包含空列的交叉表 . 如果填写了12月,则不会显示任何空白列 .

As is:

|         |  Marco  |  Mario  |  Luigi  |  Total
  January   |    0.0  |  150.0  |  150.0  |  150.0  |  450.0
  February  |    0.0  |   80.0  |   80.0  |   80.0  |  240.0
  March     |    0.0  |  135.5  |  135.5  |  135.5  |  406.5
  April     |    0.0  |   50.0  |   50.0  |   50.0  |  150.0
  May       |    0.0  |  200.0  |  200.0  |  200.0  |  600.0
  June      |    0.0  |    0.0  |    0.0  |    0.0  |    0.0
  July      |    0.0  |    0.0  |    0.0  |    0.0  |    0.0
  August    |    0.0  |    0.0  |    0.0  |    0.0  |    0.0
  September |    0.0  |    0.0  |    0.0  |    0.0  |    0.0
  October   |    0.0  |    0.0  |    0.0  |    0.0  |    0.0
  November  |    0.0  |    0.0  |    0.0  |    0.0  |    0.0
  December  |    0.0  |    0.0  |    0.0  |    0.0  |    0.0
  TOTAL     |    0.0  |  615.5  |  615.5  |  615.5  | 1846.5

Expectation:

|  Marco  |  Mario  |  Luigi  |  Total
  January   |  150.0  |  150.0  |  150.0  |  450.0
  February  |   80.0  |   80.0  |   80.0  |  240.0
  March     |  135.5  |  135.5  |  135.5  |  406.5
  April     |   50.0  |   50.0  |   50.0  |  150.0
  May       |  200.0  |  200.0  |  200.0  |  600.0
  June      |    0.0  |    0.0  |    0.0  |    0.0
  July      |    0.0  |    0.0  |    0.0  |    0.0
  August    |    0.0  |    0.0  |    0.0  |    0.0
  September |    0.0  |    0.0  |    0.0  |    0.0
  October   |    0.0  |    0.0  |    0.0  |    0.0
  November  |    0.0  |    0.0  |    0.0  |    0.0
  December  |    0.0  |    0.0  |    0.0  |    0.0
  TOTAL     |  615.5  |  615.5  |  615.5  | 1846.5

Question: 如何隐藏"blank"列?有没有办法让它崩溃?

EDIT: 我试图使"blank"列完全空白,如果名称Column Group也是"blank",则编辑将显示"blank"的度量的表达式 . 然后在列,测量和总细胞I 've checked the 2933223 option with no result. There is still space between months and the rest of the crosstab. Here is what I' ve现在得到了:

|         |  Marco  |  Mario  |  Luigi  |  Total
  January   |         |  150.0  |  150.0  |  150.0  |  450.0
  February  |         |   80.0  |   80.0  |   80.0  |  240.0
  March     |         |  135.5  |  135.5  |  135.5  |  406.5
  April     |         |   50.0  |   50.0  |   50.0  |  150.0
  May       |         |  200.0  |  200.0  |  200.0  |  600.0
  June      |         |    0.0  |    0.0  |    0.0  |    0.0
  July      |         |    0.0  |    0.0  |    0.0  |    0.0
  August    |         |    0.0  |    0.0  |    0.0  |    0.0
  September |         |    0.0  |    0.0  |    0.0  |    0.0
  October   |         |    0.0  |    0.0  |    0.0  |    0.0
  November  |         |    0.0  |    0.0  |    0.0  |    0.0
  December  |         |    0.0  |    0.0  |    0.0  |    0.0
  TOTAL     |         |  615.5  |  615.5  |  615.5  | 1846.5

1 回答

  • 0

    使用iReport删除交叉表上的列是不可能的 .

相关问题