Pivot table 如何不允许多列中出现空值
Pivot table how to not allow nulls in multiple columns
我想设置一个条件,如果 [2015]
和 [2016]
为 NULL,则隐藏行,
但我做不到。
如果没有数据,我对 billname
不感兴趣。
SELECT
IssuedByUserGroup,
BILLNAME,
SUM([2016]) AS [2016],
SUM([2015])AS [2015]
FROM Sum_Orders
PIVOT
(
SUM(Sum_SellPrice)
FOR OrderperiodYear IN ([2016],[2015])
) AS pvt
WHERE ( (MONTH(OrderDate) = MONTH(GETDATE())
AND day(OrderDate) <= DAY(GETDATE())) OR MONTH(OrderDate) < MONTH(GETDATE()))
--This part above is just for getting the data since january 1 to sep 23(to the date)
AND OrderStatus in ('Complete','invoiced')
AND OrderPrefix IN ('LAX6')
GROUP BY BILLNAME,IssuedByUserGroup
ORDER BY IssuedByUserGroup desc
这将按预期返回以下内容:
谢谢!
您应该能够在 PIVOT 下方使用 WHERE 子句,如下所示:
WHERE [2015] IS NOT NULL
在GROUP BY
部分下添加COALESCE:
HAVING COALESCE(SUM([2016]), SUM([2015])) IS NOT NULL
我想设置一个条件,如果 [2015]
和 [2016]
为 NULL,则隐藏行,
但我做不到。
如果没有数据,我对 billname
不感兴趣。
SELECT
IssuedByUserGroup,
BILLNAME,
SUM([2016]) AS [2016],
SUM([2015])AS [2015]
FROM Sum_Orders
PIVOT
(
SUM(Sum_SellPrice)
FOR OrderperiodYear IN ([2016],[2015])
) AS pvt
WHERE ( (MONTH(OrderDate) = MONTH(GETDATE())
AND day(OrderDate) <= DAY(GETDATE())) OR MONTH(OrderDate) < MONTH(GETDATE()))
--This part above is just for getting the data since january 1 to sep 23(to the date)
AND OrderStatus in ('Complete','invoiced')
AND OrderPrefix IN ('LAX6')
GROUP BY BILLNAME,IssuedByUserGroup
ORDER BY IssuedByUserGroup desc
这将按预期返回以下内容:
谢谢!
您应该能够在 PIVOT 下方使用 WHERE 子句,如下所示:
WHERE [2015] IS NOT NULL
在GROUP BY
部分下添加COALESCE:
HAVING COALESCE(SUM([2016]), SUM([2015])) IS NOT NULL