Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Getting an error when trying to add an extra filter

Hi All, This is working:

Avg Paid =
Var PaidAvg =
AVERAGEX (
CALCULATETABLE (
SUMMARIZE (
FILTER ('Transactions', 'Transactions'[isRowFilter] = 1),
'Transactions'[Month],
"TotalPaid", DISTINCTCOUNT ('Transactions'[Group])
),
ALL ('Transactions'[LineItem]),
ALL ('Calendar'[MonthYearLong]),
USERELATIONSHIP ('Calendar'[Date], 'Transactions'[Closed Date])
),
[TotalPaid]
)

RETURN PaidAvg


However

Var PaidAvg =
AVERAGEX (
CALCULATETABLE (
SUMMARIZE (
FILTER ('Transactions', 'Transactions'[isRowFilter] = 1),
'Transactions'[Month],
"TotalPaid", DISTINCTCOUNT('Transactions'[Group])
),
[TotalPaid]<>0,
ALL ('Transactions'[LineItem]),
ALL ('Calendar'[MonthYearLong]),
USERELATIONSHIP ('Calendar'[Date], 'Transactions'[Closed Date])
),
[TotalPaid]
)

RETURN PaidAvg

is given me the error:
The value for 'TotalPaid' cannot be determined. Either the column doesn't exist, or there is no current row for this column.

I do not want to count the Group if the Total of Paid is 0 for that group.

How do I add the higher level filter?

  • Anonymous's avatar
    Anonymous
    4 years ago

    Thanks, I modified your code and this works:

    Avg Paid =
    AVERAGEX ( FILTER ( 
        CALCULATETABLE (
            SUMMARIZE (
                FILTER ( 'Transactions', 'Transactions'[isRowFilter] = 1 ),
                'Transactions'[Month],
                "TotalPaid", DISTINCTCOUNT ( 'Transactions'[Group] )
            ),
            ALL ( 'Transactions'[LineItem] ),
            ALL ( 'Calendar'[MonthYearLong] ),
            USERELATIONSHIP ( 'Calendar'[Date], 'Transactions'[Closed Date] )
        ),
    [TotalPaid] <> ), [TotalPaid] )
    RETURN
        PaidAvg

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

    Please update the formula of your measure [Avg paid] as below and check whether that is what you want...

    Avg Paid =
    VAR _tab =
        CALCULATETABLE (
            SUMMARIZE (
                FILTER ( 'Transactions', 'Transactions'[isRowFilter] = 1 ),
                'Transactions'[Month],
                "TotalPaid", DISTINCTCOUNT ( 'Transactions'[Group] )
            ),
            ALL ( 'Transactions'[LineItem] ),
            ALL ( 'Calendar'[MonthYearLong] ),
            USERELATIONSHIP ( 'Calendar'[Date], 'Transactions'[Closed Date] )
        )
    VAR PaidAvg =
        AVERAGEX ( FILTER ( _tab, [TotalPaid] > ), [TotalPaid] )
    RETURN
        PaidAvg

    If the above one can't help you get the desired result, please provide some sample data in your Transactions table  (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. You can refer the following link to upload the file to the community. Thank you.

    How to upload PBI in Community

    Best Regards

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks, I modified your code and this works:

      Avg Paid =
      AVERAGEX ( FILTER ( 
          CALCULATETABLE (
              SUMMARIZE (
                  FILTER ( 'Transactions', 'Transactions'[isRowFilter] = 1 ),
                  'Transactions'[Month],
                  "TotalPaid", DISTINCTCOUNT ( 'Transactions'[Group] )
              ),
              ALL ( 'Transactions'[LineItem] ),
              ALL ( 'Calendar'[MonthYearLong] ),
              USERELATIONSHIP ( 'Calendar'[Date], 'Transactions'[Closed Date] )
          ),
      [TotalPaid] <> ), [TotalPaid] )
      RETURN
          PaidAvg