首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写带有"Group“的查询以获得指定的输出?

如何编写带有"Group“的查询以获得指定的输出?
EN

Stack Overflow用户
提问于 2013-09-30 10:09:49
回答 1查看 97关注 0票数 0

我在MSBI查询编辑器中编写了如下查询:

代码语言:javascript
复制
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年的两次。它占据了两排。我要把这个排在我的矩阵布局中。我该怎么办?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-03 13:33:51

在没有更多细节的情况下,很难知道矩阵是怎么回事,但是如果没有任何特别的努力,这一切都会很好。

获取数据的子集:

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

可以看到,行组基于RoomNo,列组基于Year。数据单元格只是聚合值。这与100室的预期效果相同:

如果没有更多的细节,就不可能知道是什么导致了您的问题,但是上面的结果显示,这当然是可能的,所有的事情都是标准的。

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

  1. 检查行组的详细信息,并查看它是否在RoomNo以外的任何内容上分组;列组和Year也是如此。
  2. 用上面的分组从头开始创建一个新的文本矩阵,看看这个新项目是否像预期的那样工作。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19091542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档