【问题标题】:How to get previous row value in DAX power bi如何在 DAX power bi 中获取上一行值
【发布时间】:2021-09-07 14:43:18
【问题描述】:
家庭月数量 prev_qty A M07 5 5 A M08 6 5 A M09 7 6 B M07 10 10 B M08 11 10 B M09 12 11

Previous qty 是我要在仪表板中填充的列。我像之前一样使用了 dax 并且还创建了索引,但它没有帮助。此表有任何 DAX 函数来查找前一行值吗?

【问题讨论】:

    标签: powerbi


    【解决方案1】:

    不好的问题。看来您实际上正在寻找的是:

    对于每个家庭,按月份对表格进行排序,如果没有前任,则取上一个月或同一月份的数量。

    这可以使用三个计算列来实现:

    Current Row = RANKX( ALL('Table'), 'Table'[month], , ASC, Dense)
    
    Previous Row = 
    VAR CurrentRow = 'Table'[Current Row]
    VAR PreviousRow = CALCULATE(
        MAX('Table'[Current Row]), 
        ALL('Table'),
        'Table'[family] = EARLIER('Table'[family]),
        'Table'[month] < EARLIER('Table'[month])
    )
    RETURN IF( PreviousRow <> BLANK(), PreviousRow, CurrentRow )
    
    Previous Quantity = 
    CALCULATE(
        MAX('Table'[qty]), 
        ALL('Table'), 
        'Table'[family] = EARLIER('Table'[family]), 
        'Table'[Current Row] = EARLIER('Table'[Previous Row])
    )
    

    如果这是您正在寻找的内容,请接受答案并奖励自愿帮助。

    【讨论】:

    • 嗨@Peter,这似乎是一个(非常好的)问题编辑......你用什么替换Calculate(...)?
    • 感谢彼得纠正我的问题。我尝试了解决方案。它有效,我正在为计算函数的参数而苦苦挣扎。我试过: CALCULATE ( sum(qty), FILTER ( table, table[Current Row]>= Table[Previous Row] ) ) ...但它不起作用。请问这里有什么输入吗? (在我的情况下,数量是衡量标准,因此 sum(quantity) 会引发错误。
    猜你喜欢
    • 1970-01-01
    • 2022-06-17
    • 2023-03-17
    • 2020-08-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多