0

我在 MSBI 查询编辑器中编写了一个查询,如下所示,

SELECT 
DATEPART(year,tblReservation.Date) AS "Year",
tblReservation.Room AS "Room No.",
COUNT(tblReservation.Room) AS "No. Of Times", 

CASE 
WHEN PaidFor = 1 
THEN 
COUNT(tblReservation.Room)*tblPrice.Price 
ELSE 0 
END AS "ActualRevenue",

COUNT(tblReservation.Room)*tblPrice.Price AS "TargetRevenue"

FROM tblReservation INNER JOIN tblRoom 
ON tblReservation.Room = tblRoom.RoomNumber 
INNER JOIN
tblPrice ON tblRoom.PriceID = tblPrice.PriceID

GROUP BY tblReservation.Room, tblPrice.Price,
tblReservation.PaidFor, DATEPART(year,tblReservation.Date)

这个查询向我显示了这样的输出(矩阵布局 MSBI),

矩阵布局

我的查询输出为,

查询输出

我的报告设计布局是,

在此处输入图像描述

我想要的是,在我的矩阵布局中,房间号。100 是 1999 年和 2013 年的两倍。它占据了两行。我希望它在我的矩阵布局中的一行中。我应该怎么做 ?谢谢。

4

1 回答 1

1

如果没有更多细节,很难判断矩阵发生了什么,但这应该可以正常工作,无需任何特别的努力。

获取数据的子集:

在此处输入图像描述

创建一个标准矩阵,向列组添加一些额外的列:

在此处输入图像描述

您可以看到行组基于 offRoomNo并且列组基于 off Year。数据单元格只是聚合值。这适用于房间 100:

在此处输入图像描述

如果没有更多细节,就不可能说出是什么导致了您的问题,但上面表明这当然是可能的,一切都是标准的。

在你的情况下,我会尝试:

  1. 检查行组的详细信息,看看它是否被分组在除RoomNo;之外的任何东西上。列组和 相同Year

  2. 使用上述分组从头开始创建一个新的文本矩阵,看看这个新项目是否按预期工作。

于 2013-10-03T13:33:51.983 回答