cancel
Showing results for
Did you mean:
Regular Visitor

## last value with conditional (zero)

HI folks

I want to repeat the last value when the actual value is numeral zero.

I tried to use with earlier, but unsuccessfully.

Tks

Igor

1 ACCEPTED SOLUTION

Accepted Solutions
Super User

## Re: last value with conditional (zero)

If you want to have the average at the total there are two possibilities. I'm not sure which one you prefer.

One is that we take the average with the original zeros (i.e. without the filled-in values). Note that we are using the [Mesure_CUSTO] defined previously. You don't need to use it in the visual any longer but do keep the definition.

```Measure_CUSTO_With_Avg@TotalWithOriginalZeros =
IF (
ISFILTERED ( Table1[Mês Ano] );
[Measure_CUSTO];
AVERAGEX (
SUMMARIZE ( Table1; Table1[ITEMID]; Table1[Mês Ano] );
"Result"; CALCULATE ( SUM ( Table1[CUSTO] ) )
);
[Result]
)
)```

10 REPLIES 10
Super User

## Re: last value with conditional (zero)

Can you try to explain it a bit more?

Show the tables in your data model and example with the expected result to help explain what you want to do.

Regular Visitor

## Re: last value with conditional (zero)

Hi @AlB

For example. In February/2018 the value is zero, but in January/2018 is 571,58. So, if is zero, I need to bring the last value (value <> 0)

Super User

## Re: last value with conditional (zero)

@igorabdo

I get it now but i need more details to be able to work it out.

Can you share the pbix? That would be the quickest. Perhaps just with some dummy data if you have confidential data in it.

Otherwise:

1. What you are showing is a table visual? What are ITEMID, CUSTO, INVENTITEID and Mes Ano? Columns in your data table or measures? Is Mes Ano of type date or text?

2. If CUSTO is a measure I need to see its code.

3. Can you show a sample of your table(s) (not the visual, the table(s) itself). So that we can see the columns in it

Regular Visitor

## Re: last value with conditional (zero)

Hi @AlB

Example of PBIX

It's simple table.

I need to create a measure that, if you haven't the cost, bring the last value that isn't zero or null.

Super User

## Re: last value with conditional (zero)

@igorabdo

Not trivial. You have to use an explicit measure instead of relying on an implicit one. Create this measure and place it in the table visual:

```Measure_CUSTO =
VAR _LatestNonZeroDate =
CALCULATE (
MAX ( Table1[Mês Ano] );
FILTER (
ALL ( Table1[Mês Ano] );
Table1[Mês Ano] <= SELECTEDVALUE ( Table1[Mês Ano] )
&& CALCULATE ( SUM ( Table1[CUSTO] ) ) <> 0
)
)
RETURN
CALCULATE (
SUM ( Table1[CUSTO] );
Table1[Mês Ano] = _LatestNonZeroDate
)```

Regular Visitor

## Re: last value with conditional (zero)

It's perfect @AlB

The measure it's amazing.

The last question

If I want an average in the final?

But don't worry. Your measure is perfect

Regular Visitor

## Re: last value with conditional (zero)

Hi @AlB. Do you know what's happen?

Super User

## Re: last value with conditional (zero)

If you want to have the average at the total there are two possibilities. I'm not sure which one you prefer.

One is that we take the average with the original zeros (i.e. without the filled-in values). Note that we are using the [Mesure_CUSTO] defined previously. You don't need to use it in the visual any longer but do keep the definition.

```Measure_CUSTO_With_Avg@TotalWithOriginalZeros =
IF (
ISFILTERED ( Table1[Mês Ano] );
[Measure_CUSTO];
AVERAGEX (
SUMMARIZE ( Table1; Table1[ITEMID]; Table1[Mês Ano] );
"Result"; CALCULATE ( SUM ( Table1[CUSTO] ) )
);
[Result]
)
)```

Highlighted
Super User

## Re: last value with conditional (zero)

@igorabdo

The other option is that we take the average  with the filled-in values. Again, we are using the [Mesure_CUSTO] defined previously.

Let me know if this solves the issue.

```Measure_CUSTO_With_Avg@TotalWithFilledValues2 =
AVERAGEX (