Нарастающие итоги в DAX при расчете дней кредиторской задолженности, При суммировании дней наличия кредиторской задолженности мера нарастающих итогов в DAX не срабатывает
Здравствуйте. Помогите пожалуйста. Использую как первоисточник журнал проводок, из 1С. Справочно - я из Казахстана, наш бух.учет в т.ч план счетов отличается от РФ. Пытаюсь выделить в кредиторской задолженности - помимо суммы, срок ее наличия (в днях). Далее буду анализировать какая из является просроченной, исходя из условий соглашений. Использую Excel 2016г. К сожалению файл excel с мерами превышает максимальный размер. Попыталась уменьшить, но до 300 не удалось. Загрузила на Яндекс Диск, если вдруг будет и время и желание глянуть: https://disk.yandex.ru/d/6yYJwHYuu-61hQ Заранее спасибо!
2. Количество дней в месяце с даты образования/изменения (пока не уверена верно или нет, но вроде работает): VAR endDate = MAX ( 'dim_Календарь 1'[Период]) VAR Total = IF([Кредиторка]<>0;SUMX ( SUMMARIZE ( 'Base'; 'Base'[Дата изменения КратКт]; "days"; DIVIDE ( SUM(Base[Сумма]); CALCULATE (SUM('Base'[Сумма]); ALLSELECTED ('dim_Календарь 1'[Период]) ); 1) * DATEDIFF ( 'Base'[Дата изменения КратКт]; endDate; DAY ) );[days] ); CALCULATE(DAY(MAX('dim_Календарь 1'[Период])))) RETURN IF(Total<>0;CALCULATE(Total;FILTER(ALL('dim_Календарь 1'[Период]);'dim_Календарь 1'[Период]<=MAX('dim_Календарь 1'[Период])));DAY(endDate))
3. Вот моя проблема - не корректно работает - Нарастающий итог дней наличия кредиторской задолженности. В разрезе месяцев, есть месяцы считает правильно, есть когда ошибочно. Ниже общепринятая мера нарастающих итогов без привязки к периодам: =IF('Base'[Кредиторка]<>0; CALCULATE ('Base'[Дни Крат.Кт]; FILTER(ALL('dim_Календарь 1'[Период]); 'dim_Календарь 1'[Период]<=MAX('dim_Календарь 1'[Период]) ) ); 0)
В приложенном скрине наглядно видно где нормально считает, а с какого момента нет.
Это, конечно, громко сказано:) Ну использовать FILTER, а не предикаты - только если вначале пути познания DAX для понимания: =IF('Base'[Кредиторка]<>0;CALCULATE ('Base'[Дни Крат.Кт]; 'dim_Календарь 1'[Период]<=MAX('dim_Календарь 1'[Период]) ); 0) Так же отработает (если Период - это даты). У мер не указывайте таблицу. Мерам как бы все равно, в какой они таблице По тому, что это не сработало бы со столбцом, понятно, что 'Base'[Кредиторка] - это мера [Кредиторка]. Так и пишите: =IF([Кредиторка]<>0;...
В остальном - у меня ощущение, что это сложновато для бесплатной ветки. Слишком много времени нужно будет потратить на понимание Ваших данных и того, что нужно. У меня нет времени сейчас разбираться Надеюсь, кто-то найдется.
написал: У меня нет времени сейчас разбираться Надеюсь, кто-то найдется.
Можно задавать вопрос? Ориентировочная стоимость по моему вопросу? +/-? Впервые сталкиваюсь, честно сказать затрудняюсь оценить стоимость написания конкретной меры. Чтобы заинтересовать человека который сможет помочь и время у него найдется. Заранее благодарю!!!!