

                power pivot是按列储存数据的...所以其实没有行的概念,需要有逻辑定位到“上一行”,比如添加一个索引列。如果像图示那样的源数据,恐怕无法实现你想要的结果。

这就是活生生的索引行的概念,在dax中不是这么玩的;基本能猜到你要做什么,其实可以用dax其他的概念来解决,思维应该还是用excel里面的行的概念,其实当你说上一行的时候,你你已经默认有索引了,不然你无法锁定什么是上一行,所以在数据处理的时候比如pq的时候就加入索引,问题就解决多了。
如下是用dax仿照pq的加索引。
DEFINE
    VAR T0 =
        SUBSTITUTEWITHINDEX (
            ADDCOLUMNS ( data, "R", data[日期], "X", data[姓名], "D", data[单价] ),
            "INDEX", data,
            data[日期], ASC
        )
    VAR T1 =
        ADDCOLUMNS (T0,"TF",
            VAR N = [INDEX]
            VAR T11 = FILTER ( T0, [INDEX] = N - 1 )
            VAR R1 =SUMX ( T11, [R] )
            VAR X1 = CONCATENATEX ( T11, [X] )
            RETURN
                [R] = R1&& [X] = X1
        )
EVALUATE
T1