Search code examples
excelpowerpivotcalculated-columnsdax

DAX average including zeroes


My question is that I'd like to calculate a daily average taking into account days with zeroes.

Let me clarify it:

I'd like to calculate the average daily value of units for each category, with the following table:

Data table

When I sum up the values for each day and category, I get:

enter image description here

I'd like to include in the average calculation the zeroes.

I use the following code:

SUMMARIZE(
    Data,
    Data[Category],
    "Average",
    AVERAGEX(
        SUMMARIZE(
            Data,
            Data[Date],
            "Sum of Units",
            SUM(Data[Units])
        ),
        [Sum of Units]
    )
)

But the problem is that for category B it doesn't take into account those days with 0s.

Could you please guide me how to solve it?

Thanks in advance!

Jorge


Solution

  • I think the best way is to add the missing zeroes, using UNION function:

    SUMMARIZE(
        Data,
        Data[Category],
        "Average",
        AVERAGEX(
            UNION(
                SUMMARIZE(
                    Data,
                    Data[Date],
                    "Sum of Units",
                    SUM(Data[Units])
                ),
                ADDCOLUMNS(
                    EXCEPT(
                        ALL(Data[Date]),
                        VALUES(Data[Date])
                    ),
                    "Sum of Units",
                    0
                )
            ),
            [Sum of Units]
        )
    )