我正在使用SQL Server 2012来构建库存计划/重新排序引擎.
我有一堆过时的交易,称之为信用和借记.我想一次做两件事:
该表如下所示:
CREATE TABLE TX (TDate DATETIME, Qty INT);
INSERT INTO TX VALUES ('2014-03-01', 20);
INSERT INTO TX VALUES ('2014-03-02',-10);
INSERT INTO TX VALUES ('2014-03-03',-20);
INSERT INTO TX VALUES ('2014-03-04',-10);
INSERT INTO TX VALUES ('2014-03-05', 30);
INSERT INTO TX VALUES ('2014-03-06',-20);
INSERT INTO TX VALUES ('2014-03-07', 10);
INSERT INTO TX VALUES ('2014-03-08',-20);
INSERT INTO TX VALUES ('2014-03-09', -5);
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL 2012 SUM OVER()窗口函数来显示这些的运行总计.
select TDate, Qty, RunningTotal, RecommendedReplenish from (
select
TDate,
Qty,
SUM(Qty) OVER …Run Code Online (Sandbox Code Playgroud) 我有一个简单的数据集,显示了玩家得分的数量.它在[周数] x轴上绘制.我添加了一个运行总和计算,作为一条线,按玩家(颜色)分割.

对于每个星期,我想通过迄今为止达到的总分来确定最佳玩家.
例如,在第3周,顶级球员是绿色,总共8分.
我尝试创建一个LOD函数,{FIXED [WEEK]: MAX(RunningSum)}但它抱怨我无法聚合聚合.
我尝试了WINDOW_MAX(),RANK(),并尝试调整Table Calc,Advanced,Partitioning和Addressing功能.
是否无法通过离散[周数]来识别运行总计集合的MAX?
通过在外部查询中包装查询并应用定义了分区的Window函数,可以在TSQL中相当容易地完成此操作.