Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 随时间推移的每周增量_Powerbi - Fatal编程技术网

Powerbi 随时间推移的每周增量

Powerbi 随时间推移的每周增量,powerbi,Powerbi,我正在尝试跟踪租户的每个功能的许可证号差异。我的数据结构如下: ╔══════╦══════════╦══════════╦══════════╗ ║ Date ║ Customer ║ Feature1 ║ Feature2 ║ ╠══════╬══════════╬══════════╬══════════╣ ║ 5/16 ║ A ║ 500 ║ 400 ║ ║ 5/23 ║ A ║ 1000 ║ 300 ║ ╚══════╩

我正在尝试跟踪租户的每个功能的许可证号差异。我的数据结构如下:

╔══════╦══════════╦══════════╦══════════╗
║ Date ║ Customer ║ Feature1 ║ Feature2 ║
╠══════╬══════════╬══════════╬══════════╣
║ 5/16 ║ A        ║      500 ║      400 ║
║ 5/23 ║ A        ║     1000 ║      300 ║
╚══════╩══════════╩══════════╩══════════╝
我希望每周都能看到Feature1和Feature2(以及Feature3等)的差异和增量。在我的示例中,客户A的特性1在5/16和5/23之间的差异为500

最初的想法是创建一个专栏来计算每个记录的前一周,然后从那里开始尝试。我理解,以这种方式为每个特征的差异创建计算列将创建循环依赖关系:

FeatureDelta=计算(最大值(表[Feature1])、过滤器(表、表[Date]=更早(表[Prv周])和表[Customer]=更早(表[Customer]))-计算(最大值(表[Feature1]))

有相当多的功能,我想显示三角洲。在PowerBI中有什么方法可以做到这一点吗?

尝试使用
MAXX(FILTER(…),…)
而不是
CALCULATE(MAX(…),…)


我假设您希望将客户与行上下文隔离。如果没有,您可以用简单的
ALL(Table2)
替换
ALLEXCEPT(Table2,Table2[Customer])

嘿,亚历克西斯,这很有效。删除行上下文是我需要的帮助;我同意你的第二个解决方案。我可能会调整您提供的内容,将其累积一周,而不是每一天。
Delta1 = 
    VAR PrevDate = MAXX(FILTER(Table2, Table2[Date] < EARLIER(Table2[Date])), Table2[Date])
    RETURN IF(ISBLANK(PrevDate),
               BLANK(),
               Table2[Feature1] -
               SUMX(FILTER(Table2, Table2[Date] = PrevDate), Table2[Feature1]))
Delta1 = 
    VAR PrevDate = CALCULATE(MAX(Table2[Date]),
                       ALLEXCEPT(Table2, Table2[Customer]),
                       Table2[Date] < EARLIER(Table2[Date]))
    RETURN IF(ISBLANK(PrevDate),
               BLANK(),
               Table2[Feature1] -
               CALCULATE(SUM(Table2[Feature1]),
                   ALLEXCEPT(Table2, Table2[Customer]),
                   Table2[Date] = PrevDate))