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

Страницы: 1
C# в Excel, Аддон в Excel для программирования на C#
 
Наткнулся тут на любопытную статью
https://habr.com/ru/companies/ruvds/articles/731770/
Странная конечно замена VBA, кто нибудь юзал?
Функции DAX, которые ведут себя неоднозначно., баг или так было задумано MS?
 
Собственно по итогам этогам этой темы
DAX. Суммирование значений за определённый диапазон дат..

Иногда я формирую таблицу с календарем используя дату окончания TODAY()
Код
CALENDAR( DATE(2020,1,1), TODAY() )
Пытаясь добавить конец квартала функцией ENDOFQUARTER для такого календаря - дата конца квартала возращается со значением "крайней" даты в календаре  


С одной стороны логично - "защита от дураков",  нет даты нечего возращать. Так например для указанной темы - дата уходила в фильтр, и при подаче в DATESINPERIOD искусствео созданное значение конца квартала все равно возращает пустую таблицу


С другой стороны значение которое вернет функция EOQ может выдавать не те ожидаемые нами даты



Или может иногда понадобиться посчитать сколько дней осталось до конца квартала и тогда нужно будет шаманить с другим вариантом получения даты конца квартала.

Пока у меня решение одно - создавать календарь до конца года
Код
CALENDAR( DATE(2020,1,1), DATE( YEAR( TODAY() ), 12, 31 ) )
PQ. Проверка списков на одинаковое количество значений ( "длина" списка), оптимальный способ (по времени исполнения) проверки n-ого количества списков
 
Вечер добрый.
Для решения задачи на вход подается список состоящий из списков.
Прежде чем приступить к обработке, требуется провести проверку на "длину" каждого из списков, т.е. { {список1}, {список2}, ... , {список-n} } должны содержать одинаковое количество числовых значений.
Просмотрев функции работы со списками я накидал несколько способов, но так как не очень знаком с механизмами исполнения PQ хотелось бы узнать ваше мнение на скорость обработки, если например будет 10-20к значений в каждом списке, самих списков не очень много: 10-15.
Код
let
    input = { {8.5, 9.5, 9.9, 9.0}, {0.65, 0.8, 0.8, 0.9}, {1.2, 1.3, 0.5, 0.6} },
    number_of_items = List.Transform( input, each List.Count ( _ ) ),
    check_0 = List.AllTrue ( List.Transform( number_of_items, each _ = List.Average( number_of_items ) ) ),
    check_1 = List.Count( List.Distinct( number_of_items ) ) = 1,
    check_2 = List.MatchesAll( number_of_items, each _ = List.Max( number_of_items ) ),
    check_3 = List.StandardDeviation( number_of_items ) = 0,
    check_4 = List.Contains( { List.Zip( input ) }, null ),
    output = [check_average = check_0, check_distinct = check_1, check_matchesall = check_2, check_deviation = check_3, check_contains = check_4]
in
    output
Страницы: 1
Наверх