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_Dax - Fatal编程技术网

Powerbi 如何在使用措施模拟计算柱时使钻取正常工作

Powerbi 如何在使用措施模拟计算柱时使钻取正常工作,powerbi,dax,Powerbi,Dax,我正在努力钻研,因为我不得不以一种不同寻常的方式构建一份报告,我希望你们能提供帮助。有一些解释背景,有点深入,但这是一个复杂的问题要解决,对不起 假设我们使用的是WideWorldImporters,并希望显示特定发票的过期程度。在PowerBI报告中,我们可以根据发票过期的程度将发票分配给各个桶,然后将金额相加,并显示如下数据: 这很好。然后,我被要求构建报告,以便最终用户可以使用切片器设置“生效日期”,并且报告将进行更新,以反映如果当前日期实际上是生效日期,发票的过期程度。有两个问题让这很

我正在努力钻研,因为我不得不以一种不同寻常的方式构建一份报告,我希望你们能提供帮助。有一些解释背景,有点深入,但这是一个复杂的问题要解决,对不起

假设我们使用的是WideWorldImporters,并希望显示特定发票的过期程度。在PowerBI报告中,我们可以根据发票过期的程度将发票分配给各个桶,然后将金额相加,并显示如下数据:

这很好。然后,我被要求构建报告,以便最终用户可以使用切片器设置“生效日期”,并且报告将进行更新,以反映如果当前日期实际上是生效日期,发票的过期程度。有两个问题让这很烦人:

  • 计算列仅在刷新时更新,而不在切片器更改值时更新
  • 度量不能像上面的条形图那样用作视觉轴的一部分
  • 为了解决这个问题,我创建了两个新表:

  • 未来90天的日期表
  • 包含要显示在图表轴上的桶值的表格
  • 然后,我在表#1的日期列上创建了一个切片器,并创建了一个度量来读取过滤表中最早的日期:

    Effective Date = IF(MIN('Effective Date'[CalendarDate]) < TODAY(), TODAY(), MIN('Effective Date'[CalendarDate]))
    
    这也很好;我可以使用日期切片器上的左手点更改生效日期度量值,这会导致针对每个度量值的生效日期桶更新,然后桶值度量值刷新并更新视觉效果。都是胖乎乎的多莉

    这就是背景的结尾。问题在于:这种方法完全突破了钻取。如果我想钻取到一个详细信息页面,列出我选择的桶中的发票,我似乎无法在基于所选生效日期动态更新桶的可视化页面上实现这一点。相反,钻取只返回所有发票,这是无用的

    我怎样才能:

    a) 强制钻取仅带回动态更新的存储桶中的发票


    b) 重新执行“根据选定的生效日期更新桶种群”doohicky,这样我一开始就不会遇到这个问题?

    幼崽,我放弃了尝试通过钻取来实现这一点。相反,我将钻取替换为书签:

  • 首先,我设置了一个新的切片器,用于过滤钻取页面,使其具有正确的值(如果钻取工作正常)
  • 接下来,我为每个切片器值设置书签
  • 最后,我在条形图中的条形图上覆盖了一个不可见的书签链接。这意味着用户不再右键单击钻取,而只需“单击栏”进入钻取页面。实际发生的情况是,它们单击不可见的书签链接并被带到过滤页面

  • 不幸的副作用是,由于条形图位于比书签链接更低的z层,因此该视觉效果的交叉过滤功能丢失。这是人生。

    小崽子,我放弃了通过钻取来实现这一点的尝试。相反,我将钻取替换为书签:

  • 首先,我设置了一个新的切片器,用于过滤钻取页面,使其具有正确的值(如果钻取工作正常)
  • 接下来,我为每个切片器值设置书签
  • 最后,我在条形图中的条形图上覆盖了一个不可见的书签链接。这意味着用户不再右键单击钻取,而只需“单击栏”进入钻取页面。实际发生的情况是,它们单击不可见的书签链接并被带到过滤页面
  • 不幸的副作用是,由于条形图位于比书签链接更低的z层,因此该视觉效果的交叉过滤功能丢失。这就是生活

    Effective Date Bucket = 
        var CurrentDueDate = MAX('Sales Invoices'[DueDate])
    
        return (
            switch(
                true(),
                datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) <= 0, "0: Not Overdue",
                and(datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) > 0, datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) <= 30), "1: 0 - 30",
                and(datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) > 30, datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) <= 60), "2: 31 - 60",
                and(datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) > 60, datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) <= 90), "3: 61 - 90",
                and(datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) > 90, datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) <= 365), "4: 91 - 365",
                datediff(CurrentDueDate, 'Effective Date'[Effective Date], day) > 365, "5: 365+"
            )
        )
    
    Bucket Value = (
        var CurrentBucket = max('Debt Buckets'[Debt Bucket])
    
        return (
            CALCULATE(
                sum('Sales InvoiceLines'[LineAmount]),
                filter(
                    ALLSELECTED('Sales Invoices'),
                    'Sales Invoices'[Effective Date Bucket] = CurrentBucket
                )
            )
        )
    )