Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 358 След.
Сложный подсчет кол-ва уникальных Клиентов по их Структуре в общем объеме
 
Ну, раз вы считаете, что всё понятно, то как понял :) как и у Светлого.
Updated
Чуток не докрутил
Код
=IF(HASONEVALUE('Sales4'[Value]);
    CALCULATE(DISTINCTCOUNT('Sales'[Client_ID]); FILTER('Sales'; 'Sales'[Cumulative %] <= VALUES('Sales4'[Value])));
    BLANK()
)
Изменено: Андрей VG - 28 сен 2020 10:16:07
Сложный подсчет кол-ва уникальных Клиентов по их Структуре в общем объеме
 
Доброе время суток.
Анатолий, может потратить силы и время на то, чтобы описать что и где нужно сделать, включая пример результата в файле, чем объяснять путь решения, которое не приводит только к вам одному известному требуемому состоянию (вычисляемый столбец. Мера, тогда на каких измерениях)?
Изменено: Андрей VG - 28 сен 2020 08:26:06
Программно не получается использовать функцию GROWTH().
 
Доброе время суток
Цитата
Anatoly Govorukha написал:
xnv as double
GROWTH function
Цитата

New_x's    Optional. Are new x-values for which you want GROWTH to return corresponding y-values.
New_x's must include a column (or row) for each independent variable, just as known_x's does. So, if known_y's is in a single column, known_x's and new_x's must have the same number of columns. If known_y's is in a single row, known_x's and new_x's must have the same number of rows.
If new_x's is omitted, it is assumed to be the same as known_x's.
If both known_x's and new_x's are omitted, they are assumed to be the array {1,2,3,...} that is the same size as known_y's.
Код
Public Sub test()
    Dim x(1 To 10) As Double, y(1 To 10) As Double, n(1 To 10) As Double, r
    Dim i As Long
    For i = 1 To 10
        x(i) = Rnd: y(i) = Rnd
    Next
    r = Application.WorksheetFunction.Growth(x, y, n, True)
    Debug.Print r(1)
End Sub
Мера для ТОП - N значений
 
Попробуйте так
Код
=
VAR stats =
    SUMMARIZE(
        'Лист1';
        'Лист1'[Наименование];
        "product amount"; SUM( 'Лист1'[Сумма] )
    )
VAR top5 =
    TOPN( 5; stats; [product amount]; DESC )
VAR notTop =
    EXCEPT( stats; top5 )
RETURN
    IF(
        HASONEVALUE( 'Dynamic'[Dynamic] );
        VAR dynItem =
            VALUES( 'Dynamic'[Dynamic] )
        RETURN
            IF(
                dynItem = "Другие";
                SUMX( notTop; [product amount] );
                SUMX( FILTER( top5; 'Лист1'[Наименование] = dynItem ); [product amount] )
            );
        BLANK()
    )

P. S. Следует учесть следующий момент, если сумма в SUMMARIZE на порядке убывания для 6, 7 и так далее наименования будет равна пятому, то они будут тоже выводится. Если нужно строго только 5, то в TOPN добавьте порядок, например, по наименованию.
Изменено: Андрей VG - 27 сен 2020 18:58:18 (Несколько компактнее и логичнее с точки зрения вычислений)
VBA. Аналог функции SumIf для умной таблицы
 
Цитата
БМВ написал:
квадратное увеличение операций.
Да, проблема в этом. Нужен другой алгоритм, да и скорее всего другой процесс работы. Я так и не понимаю, зачем нужно показывать сумму по ключу для каждого его вхождения в таблице.
Цитата
БМВ написал:
даже с погрешностью на поиск в словаре.
А вот это место, пожалуйста, поподробнее. Как, на каком наборе данных было установлено, что поиск в словаре даёт погрешность?
VBA. Аналог функции SumIf для умной таблицы
 
Цитата
БМВ написал:
функции быстрее.
Тест. Создаём умную таблицу "Таблица1" со столбцом key с формулой =СЛУЧМЕЖДУ(1;200) и value с формулой =СЛЧИС() размножаем на 1000000 строк. Превращаем в значения. Для оценки скорости выполнения на VBA, такой код
Код
Public Sub sumIfByVBA()
    Dim pLo As ListObject, resultColumn As ListColumn
    Dim pDict As New Scripting.Dictionary
    Dim keys, values, i As Long, t As Single
    t = Timer
    Set pLo = ActiveSheet.ListObjects("Таблица1")
    keys = pLo.ListColumns("key").DataBodyRange.Value
    values = pLo.ListColumns("value").DataBodyRange.Value
    For i = 1 To UBound(keys)
        pDict(keys(i, 1)) = pDict(keys(i, 1)) + values(i, 1)
    Next
    For i = 1 To UBound(keys)
        values(i, 1) = pDict(keys(i, 1))
    Next
    Set resultColumn = pLo.ListColumns.Add
    resultColumn.DataBodyRange.Value = values
    MsgBox Timer - t
End Sub

У меня выполнился за 2,2 секунды. Для оценки формульного решения - новый столбец с формулой =СУММЕСЛИ([key];[@key];[value]) После 30 секунд остановил вычисление и прибил столбец :)   Тестировалось по Excel 2016 32bit.
P. S. Да, летом Microsoft хвалилось, что в Excel 365 подобные расчёты они стали оценивать - не выполняется ли для единого блока, и если да, то формула работает как для единого массива, но в 2016 для каждой ячейки полный набор вычислений и счастья медленного выполнения. :)
VBA. Аналог функции SumIf для умной таблицы
 
Цитата
БМВ написал:
в приdычном для листа виде и обернутая в Evaluate
Вот только смысл? Надеяться что это будет быстрее и быстрее в каком контексте: создания кода или времени выполнения? Или всё же лучше декомпозировать задачу и написать код на VBA? Что то мне подсказывает, что это может быть быстрее в плане выполнения :)
VBA. Аналог функции SumIf для умной таблицы
 
Цитата
БМВ написал:
навивает мысль что вы хотите работать по названию полей, так?
Привет, Михаил.
Выскажу догадку, что ТС хочет иметь в VBA такой же набор высокоуровневых функций и структур данных, чтобы использовать в коде такие же подходы как и в случае работы с формулами на листе Excel. В общем случае обращение к столбцу данных таблицы Workbooks("BookName.extension").Worksheets("SheetName").ListObjects("TableName").ListColumns("ColumnName").DataBodyRange.Value возвращает двумерный массив данных столбца. А уже с этими данными можно работать в том числе и функциями, определяемыми в Application.WorksheetFunction. В частности Application.WorksheetFunction.SumIf
Автоматический макрос для копирования строк с информацией на новый лист
 
Доброе время суток.
Вариант.
Изменено: Андрей VG - 27 сен 2020 07:00:16
Сводная таблица - анализ продаж, создание сводной таблицы, имея исходные данные из 1С (универсальный отчет)
 
Цитата
koreshulia написал:
как мне
Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 300Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
Сводная таблица. В итогах и подитогах сумма средних значений
 
Вариант на Power Pivot.
Создание меры в DAX. Ошибка "функция dateadd работает только с непрерывным диапазоном дат"
 
Цитата
Nik021 написал:
DATEADD ссылается на непрерывный диапазон дат
тогда сдаюсь :)  По картинкам лечить могут только гуру. Я всего лишь дилетант.
Создание меры в DAX. Ошибка "функция dateadd работает только с непрерывным диапазоном дат"
 
Доброе время суток
Цитата
Nik021 написал:
В чем может быть проблема?
Вы не находите, что в именно в этом
Цитата
функция dateadd работает только с непрерывным диапазоном дат
:qstn:
Сводная таблица. В итогах и подитогах сумма средних значений
 
Доброе время суток
Цитата
TokarevP написал:
при нажатии Итоги по (необходима сумма)
Можно перевести эту фразу на человеческий язык?
Догадка - вы хотите, чтобы в рядовых ячейках вычислялось среднее значение, а в итогах и под итогах сумма этих средних значений? Тогда добро пожаловать в Power Pivot и асимметричные меры :)
Мера для ТОП - N значений
 
Цитата
Solomatnikov написал:
где косяк? Как исправить?
Код
var Edin = union (AddRankMinSumName1, addRankMax)

return Edin

Edin - это таблица. А результат любой меры - скалярное выражение: число, текст, логическое значение, дата. То что вы описали ход ваших мыслей - это не плохо. Но! Это уместно только после того, как вы выполнили постановку задачи. Что вы хотели получить этой мерой?
Вставка профиля в книге, Вставка профиля в книге
 
Доброе время суток.
Цитата
ровшан ход написал:
как в книге excel в правом верхнем углу ставиться имя и фото
Это не относится к книге. Закройте все книги Ctrl+F4 :)  У вас версия Excel какая?
Power Query. Ошибка при создании запроса: "...Не удалось создать защищенный канал..."
 
Необъявленный кросс.
Формат значений в заголовках столбцов, В заголовках столбцов редактора запросов не отображается формат
 
Цитата
Андрей VG написал:
Power Query
:qstn:
Изменено: Андрей VG - 25 сен 2020 23:16:35
Формат значений в заголовках столбцов, В заголовках столбцов редактора запросов не отображается формат
 
Доброе время суток.
Вопрос, почему вы считаете, что картинка хоть как-то может помочь в проблеме? Вы действительно считаете, что информация об версиях Excel, Power Query не существенная случайная величина?
P. S. У меня есть Excel 365 64bit версия 2008 (сборка 13127.20508), Power Query 2.84.801.0
Изменено: Андрей VG - 25 сен 2020 22:44:29
Power Query. Расширяющийся диапазон подсчёта повтора значения в столбце.
 
Доброе время суток.
А чем плоха группировка? Другие варианты - более медленные.
Экспорт данных из INBOX & SENT папок Outlook
 
Цитата
a.m.v. написал:
реакции никакой
В панели Immediate редактора VBA ничего нет? Папка Folders("Sent")? Если поставить точку останова кода на Do Until pMail Is Nothing, то pMail Is Nothing?
Вы уверены, что это я должен из вас информацию вытягивать?
Изображение в подписи макроса вставляется сверху сообщения, а не с низу.
 
Доброе время суток.
Цитата
SanyaMan90 написал:
как исправить
Разобраться с этими строками кода
Код
        .HTMLBody = "<br>" & strbody & "<br><br>" _
            & "<img src='cid:123.jpg'" & "width=width height=heigth><br><br>" & .HTMLBody
Экспорт данных из INBOX & SENT папок Outlook
 
Доброе время суток
Цитата
a.m.v. написал:
определить период дат
Как вариант
Код
Public Sub Test()
    Dim outApp As New Outlook.Application
    Dim nSpace As Outlook.Namespace
    Dim pFolder As Outlook.Folder
    Dim pItems As Outlook.Items
    Dim pMail As MailItem
    
    Set nSpace = outApp.GetNamespace("MAPI")
    Set pFolder = nSpace.Folders("vasya.pupkin@hp.com")
    Set pFolder = pFolder.Folders("Sent")
    Set pItems = pFolder.Items
    Set pMail = pItems.Find("[SentOn] > '09.09.2020' And [SentOn] < '12.09.2020'")
    Do Until pMail Is Nothing
        Debug.Print pMail.Subject & " = " & pMail.SentOn
        Set pMail = pItems.FindNext
    Loop
End Sub

P. S. формат даты языково зависимый.
DAX. Для одного уровня иерархии разные значения в зависимости от конечного уровня
 
Цитата
OblivionR написал:
но это "костыль", а не решение
А другого в Power Pivot нет. Полагаю, что и Power BI тоже. Как бы это про другое. То один пытается 200000 строк запихнуть, чтобы их потом распечатать, то тут по соседству товарищ спрашивающий пытается 3 миллиона строк выводить для отображения на какую дату был по № накладной возврат или продажа  :D  BI же для статистического анализа. По usability - элементов 100 за один раз. Если нужно, то проваливаемся в детали. А тут Power BI куда круче Excel - вот тут в проваливании и организовывайте дополнительное отображение для развёрнутого состояния.
Изменено: Андрей VG - 24 сен 2020 15:54:27
DAX. Для одного уровня иерархии разные значения в зависимости от конечного уровня
 
Цитата
OblivionR написал:
что это невозможно
Если бы речь шла про Power Pivot, то написал бы, что не возможно определить свёрнут ли уровень иерархии. А, судя по картинкам в Power BI, он бурно развивается. Вдруг по ISINSCOPE можно как-то это поймать? MVP Максим Зеленский молчит, толи занят, толи не интересно, толи не возможно :)
Поиск решения не находит оптимальное решение, распределение выпуска по времени с приоритетом более раннего
 
Доброе время суток
Цитата
Дмитрий написал:
или другие
критерии оптимальности. Так как по текущим - всё выполнено.
Dax. Визуализировать большое количество данных. Объединение в блок "другое"
 
Цитата
PooHkrd написал:
завсегда пожалуйста.
Там статика. ТС же, чует моё сердце, постеснялся написать, что потребна динамика, зависящая от каких-нибудь срезов, например, по годам :)
копирование модель данных Power Pivot из одной книги в другую
 
Цитата
PooHkrd написал:
если на один из запросов ссылается несколько других
Ну, тогда всей толпой копировать. У меня прошло без проблем.
Dax. Визуализировать большое количество данных. Объединение в блок "другое"
 
Доброе время суток.
Pbix некоторое время вне зоны доступа. Попробуйте сюда посмотреть.
копирование модель данных Power Pivot из одной книги в другую
 
Доброе время суток
Цитата
PooHkrd написал:
3. Открываете расширенный редактор
4. Копируете текст запросаВ нужной книге создаете пустой
Зачем такие сложности?
В редакторе запросов на левой панели запросов выделяете нужные запросы и копируете. В новой книге там же в редакторе запросов на левой панели запросов просто вставляете :)
А ещё проще - написать макрос, который займётся этим делом :)  (естественно, начиная с 2016).
Теоретически можно даже и модель в новой книге макросом пересоздать, правда, есть проблема с созданием вычисляемых столбцов. Но они, как пишут гуру, зло :)
Изменено: Андрей VG - 24 сен 2020 12:53:46
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 358 След.
Наверх