Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
DAX использование переменных замедляет работу обновления отчетов в сводной PP
 
Всех приветствую. Может кто сталкивался с проблемой по поводу того, то при использование переменных в DAX происходит замедление обновления отчетов в сводной PP.
Предыстория.
Написал я меру для расчета накопительной суммы приходов товара( в модели есть еще одна мера с похожим расчетом), запустил обновление отчета, и устал ждать обновления (до этого все работало быстро).
Код
Остаток на кон_шт: = var maxDate = MAX('ТаблКалендарь'[Дата])
var DateInPeriod = DATESBETWEEN('ТаблКалендарь'[Дата];DATE(2023;1;1);maxDate)
var Result = CALCULATE([Приход_шт]-[Продано_шт];DateInPeriod)
return Result

Изначальная мера:
Код
Остаток на кон_шт:= CALCULATE([Приход_шт]-[Продано_шт];DATESYTD('ТаблКалендарь'[Дата]))
Далее убрал из новой меры все, кроме Result, но результат обновления отчета быстрее не стал.
Код
Остаток на кон_шт: 
var Result = CALCULATE([Приход_шт]-[Продано_шт];DATESYTD('ТаблКалендарь'[Дата]))
return Result
Вернул обратно меру, и все стало обновляться также быстро.
Код
Остаток на кон_шт:= CALCULATE([Приход_шт]-[Продано_шт];DATESYTD('ТаблКалендарь'[Дата]))
Может кто сталкивался с подобным или может причина в другом? (Модель прилагаю)

upd. я конечно переписал меру (отрабатывает также быстро):
Код
Остаток на кон_шт:= CALCULATE([Приход_шт]-[Продано_шт];DATESBETWEEN('ТаблКалендарь'[Дата];DATE(2023;1;1);MAX('ТаблКалендарь'[Дата])))
Изменено: Alex - 11.01.2024 10:55:26
VBA, ошибка наполнения динамического массива без указания свойства Value
 
Доброго времени суток. Подскажите, пожалуйста, нюанс по  поводу наполнения динамического массива без указания свойства Value. В примере во вложении есть процедура с двумя массивами arr1 и arr2. Вопрос заключается в том, почему массиву arr1 присвоились значения из диапазона, а массиву arr2 нет.
Изменено: Alex - 28.09.2023 20:25:10
VBA, группировка массива с суммированием и конкатенацией строк по ключу с помощью словаря
 
Добрый день, уважаемые специалисты по VBA.
Только начал изучать VBA, поэтому многих нюансов не знаю.
Подскажите, пожалуйста, почему неправильно отрабатывает нижеприведенный код. Во вложении то как отрабатывает и то как надо.
Заранее спасибо за ответ.
Код
Sub Group()
    Dim dict As Object
    Dim arr As Variant, arr2 As Variant
    Dim i As Long, t1 As Double
    Dim key As Variant
    Dim j As Long
    

    ' Инициализация словаря
    Set dict = CreateObject("Scripting.Dictionary")
    t1 = Timer
    ' Загрузка данных из диапазона в массив
    arr = Range("A2:C31").Value

    ' Обработка каждой строки массива
    For i = LBound(arr, 1) To UBound(arr, 1)
        key = arr(i, 1) ' Первый столбец используется в качестве ключа

        ' Если ключ уже существует в словаре, суммируем или объединяем значения
        If dict.Exists(key) Then
            dict(key)(0) = CDbl(dict(key)(0)) + CDbl(arr(i, 2)) ' Суммируем значения во втором столбце
            dict(key)(1) = dict(key)(1) & ", " & arr(i, 3) ' Объединяем значения в третьем столбце
        Else
            ' Если ключ не существует в словаре, добавляем новую запись
            dict.Add key, Array(CDbl(arr(i, 2)), arr(i, 3))
        End If
    Next i

        
    j = 1
    ReDim arr2(1 To dict.Count, 1 To 3)
    For Each key In dict.keys
        arr2(j, 1) = key
        arr2(j, 2) = dict(key)(0)
        arr2(j, 3) = dict(key)(1)
        j = j + 1
    Next key
    Sheets.Add After:=Sheets(Sheets.Count)
    Range("A2").Resize(dict.Count, 3).Value = arr2
    MsgBox Round(Timer - t1, 0)
End Sub
 
VBA, пользовательская функция для подсчета длительности между определенными промежутками времени в таблице
 
Доброго времени суток. Подскажите, пожалуйста, возможно ли реализовать такую пользовательскую функцию на VBA, чтоб выбрать весь определенный диапазон ячеек и получить суммарную продолжительность всех заданных промежутков времени в данном диапазоне. Пример того, как могут задаваться промежутки и что хотелось бы получить во вложении.
Изменено: Alex - 21.06.2023 22:48:48
DAX - Power Pivot мера для промежуточных итогов по иерархии
 
Добрый день!
Помогите, пожалуйста, с написанием  меры для расчета суммы остатка товара, который не продается определенный промежуток времени ("Мертвый товар"). Исходные данные: торговое предприятие, на котором весь товар группируется по следующей иерархии отдел-департамент-группа-подгруппа-товар. Есть модель данных по продажам и остаткам по дням. Для нижнего уровня иерархии "Товар" написана мера для расчета суммы остатка "мертвого товара" (в примере во вложении). Но данная мера не работает для следующих уровней иерархии.  Как можно на верхних уровнях иерархии получить сумму остатка "Мертвого товара" самого нижнего уровня?
Пример того, как должно быть во вложении.
Заранее спасибо!  
Изменено: Alex - 13.04.2023 17:08:41
Страницы: 1
Наверх