Я совершенно новичок в DAX и, следовательно, все еще глубоко в процессе понимания логики этого языка.
У меня есть набор данных, содержащий столбцы: даты, суммы, индексы событий, сальдо и дни.
Я хочу получить две вещи:
- остаток в начале каждого месяца
- разницу между всеми положительными и отрицательными суммами (поэтому для удобства имеем сумму одного и другого, для удобства )
Я считаю, что Мера, если путь к go, чтобы получить обе величины.
Для первого я подумал о создании нового столбца (просто чтобы легко визуализировать результат моей предварительной формулы).
Я придумал следующее:
Column = IF(
ListaMovimenti[Index]=1,
ListaMovimenti[Amount],
IF(
AND(
ListaMovimenti[Day]=1,
LOOKUPVALUE(ListaMovimenti[Day],ListaMovimenti[Index],ListaMovimenti[Index]+1) <> 1
),
LOOKUPVALUE(ListaMovimenti[Balance], ListaMovimenti[Index], ListaMovimenti[Index]-1),
0
)
)
Это (явно) работает только частично, как показано ниже ![enter image description here](https://i.stack.imgur.com/Y9vOu.png)
, когда формула находит новая запись месяца, не начинающаяся с 1, это ломается.
Для второй задачи, как и для первой, я подумал о вызове некоторой функции обработки даты.
Я чувствую, что при вычислении меры я использую l oop, но я читал, что это не так легко реализовать их в DAX.
ОБНОВЛЕНИЕ Я справился с первой частью, используя следующий код
Column = IF(
ListaMovimenti[Index]=1,
ListaMovimenti[Amount],
IF(
MONTH(ListaMovimenti[Date]) <> MONTH(LOOKUPVALUE(ListaMovimenti[Date],ListaMovimenti[Index],ListaMovimenti[Index]-1)),
LOOKUPVALUE(ListaMovimenti[Balance], ListaMovimenti[Index], ListaMovimenti[Index]-1),
0
)
)
Однако сейчас я пытаюсь превратить это в Меру, поскольку не могу вызвать столбцы в меры.
Я также еще не выяснил вторую часть: получение ежемесячной суммы положительных и отрицательных сумм.
Мне очень тяжело разобраться в логике c этого однострочного синтаксиса языка, поэтому любая помощь очень ценится. Спасибо