在 Power BI 中,是否可以在 Measure 变量中保存一列?

In Power BI, is it possible to hold a column in a Measure variable?

我们有一个值为“Local”和“USD”的切片器。

根据选择,我们要使用不同的数据列进行计算。

这有效。

Billings Sum = 
IF(
    SELECTEDVALUE(CurrencyPickerTable[Currency]) = "Local",
    SUM('BillingsTable'[Billings (local)]),
    SUM('BillingsTable'[Billings (USD)])
)

但是,它会变得更加复杂,因为我们还想为“财政年度”和“日历年”添加一个切片器。

如果两个可能的选择都在 RETURN 部分,将会出现一堆重复代码。

是否可以将列放入变量中并在以后的计算中使用它?
这是我失败的尝试。

Billings Sum = 
var selectedCurrencyColumn = 
IF(
    SELECTEDVALUE(CurrencyPickerTable[Currency]) = "Local", 
    SELECTCOLUMNS(BillingsTable, "local", [Billings (local)]), 
    SELECTCOLUMNS(BillingsTable, "USD", [Billings (USD)])
)

RETURN
SUM(selectedCurrencyColumn)

如何将一列添加到 currencyColumn 变量中?

据我所知,您尝试执行的操作是不可能的,但您可能会使用 SWITCH TRUE 方法和一些变量获得一个不错的公式来检查选择

[Billings Sum] =
VAR CurrencySelection =
    SELECTEDVALUE ( CurrencyPickerTable[Currency] )
VAR CalendarSelection =
    SELECTEDVALUE ( CalendarPickerTable[Calendar] )
RETURN
    SWITCH (
        TRUE (),
        CurrencySelection = "Local"
            && CalendarSelection = "Calendar Year", [Billings (local)],
        CurrencySelection = "Local"
            && CalendarSelection = "Fiscal Year", [Billings (local) FC],
        CurrencySelection = "USD"
            && CalendarSelection = "Calendar Year", [Billings (USD)],
        CurrencySelection = "USD"
            && CalendarSelection = "Fiscal Year", [Billings (USD) FC],
        BLANK ()
    )

这假设您有一个度量来涵盖选择矩阵(在本例中为货币和日历)的每个可能组合,但如果不是这种情况,您也可以创建一些变量作为度量或在切换。

参考:

https://www.sqlbi.com/articles/optimizing-if-and-switch-expressions-using-variables/