如何在 PowerBI 中为数组创建动态度量或列?

How can I create a dynamic measure or column for an array in PowerBI?

Excel Example

我正在尝试在 PowerBI 中重新创建一个与我在 excel 中所做的类似的图表,如下所示:

我这里有每天的收入。该图表显示收入超过固定金额(100、200 等)的天数百分比。

在 PowerBI 中,我知道如何通过定义列来重新创建图表所基于的 table,但它不是动态的。我无法应用过滤器来更改列值。

我知道我可以将过滤器应用于度量,但是当我尝试将公式复制为度量时出现错误,我认为这是由于公式试图 return 值数组。

这是我的固定列版本的公式:

table2 column = countx(
   filter(
   DayRevenueTable,
   [Revenue]>Table2[DayRevenueExceeding])
   ,[Day])
   /Total 

假设您的 table 看起来像这样:

Date Revenue
04 January 2022 102
11 January 2022 162
17 January 2022 180
02 January 2022 185
12 January 2022 203
05 January 2022 278
01 January 2022 353
16 January 2022 449
14 January 2022 500
06 January 2022 515
08 January 2022 582
10 January 2022 600
03 January 2022 618
09 January 2022 626
13 January 2022 626
15 January 2022 706
18 January 2022 765
07 January 2022 895

您需要先用您的固定值创建一个 table。基本上与创建参数的概念相同。

使用 table 作为参考,您可以围绕 Fixed Values[Value] 创建计算。

DAX:固定值

Fixed Values = GENERATESERIES(100,1000,100)

DAX:收入超过金额的天数

Days When Revenue Exceeds Amount =
VAR CurrentFixedValue =
    SELECTEDVALUE ( 'Fixed Values'[Value] )
VAR CountValues =
    CALCULATE (
        COUNTROWS ( 'Table' ),
        'Table'[Revenue] < ( CurrentFixedValue + 100 )
    )
VAR AllValues =
    CALCULATE ( COUNTROWS ( 'Table' ), ALLSELECTED ( 'Table' ) )
VAR Calc =
    DIVIDE ( CountValues, AllValues )
RETURN
    Calc

输出