如何在DAX中编写此查询?
SELECT TimeID, Code,(SELECT SUM(qty) FROM cteRanked c2 WHERE c2.rownum <= c1.rownum and c2.Code=c1.Code)
FROM cteRanked c1;
谢谢
答案 0 :(得分:0)
考虑到在SQL查询中未指定分组,这可能有用
EVALUATE
SELECTCOLUMNS(
ADDCOLUMNS(
cteRanked,
"QtyRT",
VAR LastRowNum = cteRanked[rownum]
RETURN
CALCULATE(
SUMX( cteRanked, cteRanked[qty] ),
REMOVEFILTERS( cteRanked ),
VALUES( cteRanked[Code] ),
cteRanked[rownum] <= LastRowNum
)
),
"TimeID", cteRanked[TimeID],
"Code", cteRanked[Code],
"QtyRT", [QtyRT]
)
首先,我们遍历整个cteRanked表,添加列QtyRT(数量总计),该列包含具有相同Code的所有行的总和,其中rownum <=保存的rownum。 然后,我们使用SELECTCOLUMNS仅选择所需的列。