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

Страницы: 1
DAX Применение доли для отсутствующих позиции среднее значение
 
DemonAMT, Благодарю!  
DAX Применение доли для отсутствующих позиции среднее значение
 
Добрый день!
прошу помощи.

Есть две таблицы "Прогнозы по товарам" и "Доли по городам", где указаны доли каждого товара по городам, но не по всем товарам.
в Dax перемножил доли с прогнозом и получил прогноз для каждого товара по городам, но по товарам по которым нет доли соответственно в результате нет прогноза по городам.
Как реализовать чтобы если товар из таблицы "Прогнозы по товарам" отсутствует в таблице "Доли по городам" (соответственно нет доли), то за долю по городам брать среднее значение доли от всех товаров имеющихся в таблице "Доли по городам".
Не знаю как можно решить данную задачу
Изменено: nurlan86 - 18.01.2023 13:34:06
Power Query. Загрузка данных из файлов с переменным количеством столбов, Загрузка данных из файлов с переменным количеством столбов через Power Query.
 
Дмитрий(The_Prist) Щербаков, Большое спасибо! То что нужно.
Power Query. Загрузка данных из файлов с переменным количеством столбов, Загрузка данных из файлов с переменным количеством столбов через Power Query.
 
Дмитрий(The_Prist) Щербаков, до того как задать вопрос ознакомился с этой статьей и другими. Пишется про то как получить данные из первоначальной таблицы после загрузки. Но я не смог применить его, т.к. мне нужно получить список столбцов после транспонирование таблицы.
Можете подсказать как можно получить список таблицы после транспонирования таблицы.
Power Query. Загрузка данных из файлов с переменным количеством столбов, Загрузка данных из файлов с переменным количеством столбов через Power Query.
 
Цитата
написал:
nurlan86, добрый день
Может быть  эта статья Николая  Вам чем-то поможет.
Добрый день! Благодарю, но мне этот вариант не совсем подходит, т.к. мне нужны название столбцов после транспонирования таблицы
Power Query. Загрузка данных из файлов с переменным количеством столбов, Загрузка данных из файлов с переменным количеством столбов через Power Query.
 
Добрый день!
Прошу помочь с решением следующей задачи.
Есть файлы с данными по прогнозу: по вертикали товары и по горизонтали год и недели, имеются также другие данные на листе, которые необходимо исключить
Консолидирую файлы через Power Query, для того чтобы отсечь все что не нужно делаю транспонировку таблицу, убираю все что не нужно, потом обратно транспонирую.
Каждый раз может быть разное количество файлов, соответственно разное количество строк которые транспонируются в столбцы.
Столкнулся с тем что PQ запоминает после транспонирования только те столбцы, которые были при первой загрузки, и в последующем при изменении количества в меньшую сторону выдает ошибку, в большую сторону загружает не все.
Как можно этого избежать.

Не знаю как решить чтобы наименование столбцов были динамическими, кроме столбца "Год неделя", т.к. она всегда должна быть расположена первым.
Код
#"Переупорядоченные столбцы" = Table.ReorderColumns(#"Строки с примененным фильтром",{"Год Неделя", "Column1", "Column2", "Column3", "Column4", "Column5",

Подскажите как можно решить эту задачу, может есть другой путь.
Пример исходного файла и файла с запросом прилагаю


Код
let
Источник = Folder.Files("C:\Users\fdnd\Desktop\Данные\Данные"),
#"Отфильтрованные скрытые файлы1" = Table.SelectRows(Источник, each [Attributes]?[Hidden]? <> true),
#"Вызвать настраиваемую функцию1" = Table.AddColumn(#"Отфильтрованные скрытые файлы1", "Преобразовать файл из Тест", each #"Преобразовать файл из Тест"([Content])),
#"Переименованные столбцы1" = Table.RenameColumns(#"Вызвать настраиваемую функцию1", {"Name", "Source.Name"}),
#"Другие удаленные столбцы1" = Table.SelectColumns(#"Переименованные столбцы1", {"Source.Name", "Преобразовать файл из Тест"}),
#"Столбец расширенной таблицы1" = Table.ExpandTableColumn(#"Другие удаленные столбцы1", "Преобразовать файл из Тест", Table.ColumnNames(#"Преобразовать файл из Тест"(#"Пример файла"))),
#"Удаленные столбцы" = Table.RemoveColumns(#"Столбец расширенной таблицы1",{"Source.Name"}),
#"Транспонированная таблица" = Table.Transpose(#"Удаленные столбцы"),
#"Добавлен индекс" = Table.AddIndexColumn(#"Транспонированная таблица", "Индекс", 1, 1),
#"Вставлено: объединенный столбец" = Table.AddColumn(#"Добавлен индекс", "Год Неделя", each if [Индекс] <6 then Text.Combine({"2029", Text.From([Индекс], "ru-RU")}, "-") else Text.Combine({Text.From([Column3], "ru-RU"), Text.From([Column1], "ru-RU")}, "-"), type text),
#"Строки с примененным фильтром" = Table.SelectRows(#"Вставлено: объединенный столбец", each Text.Contains([Год Неделя], "202")),
#"Переупорядоченные столбцы" = Table.ReorderColumns(#"Строки с примененным фильтром",{"Год Неделя", "Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19", "Column20", "Column21", "Column22", "Column23", "Column24", "Column25", "Column26", "Column27", "Column28", "Column29", "Column30", "Column31", "Column32", "Column33", "Column34", "Column35", "Column36", "Column37", "Column38", "Column39", "Column40", "Column41", "Column42", "Column43", "Column44", "Column45", "Column46", "Column47", "Column48", "Column49", "Column50", "Column51", "Column52", "Column53", "Column54", "Column55", "Column56", "Column57", "Column58", "Column59", "Column60", "Column61", "Column62", "Column63", "Column64", "Column65", "Column66", "Column67", "Column68", "Column69", "Column70", "Column71", "Column72", "Column73", "Column74", "Column75", "Column76", "Column77", "Column78", "Column79", "Column80", "Column81", "Column82", "Column83", "Column84", "Column85", "Column86", "Column87", "Column88", "Column89", "Column90", "Column91", "Column92", "Column93", "Column94", "Column95", "Column96", "Column97", "Column98", "Column99", "Column100", "Column101", "Column102", "Column103", "Column104", "Column105", "Column106", "Column107", "Column108", "Column109", "Column110", "Column111", "Column112", "Column113", "Column114", "Column115", "Column116", "Индекс"}),
#"Удаленные столбцы1" = Table.RemoveColumns(#"Переупорядоченные столбцы",{"Индекс"}),
#"Транспонированная таблица1" = Table.Transpose(#"Удаленные столбцы1"),
#"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица1", [PromoteAllScalars=true]),
#"Переименованные столбцы" = Table.RenameColumns(#"Повышенные заголовки",{{"2029-1", "Group"}, {"2029-2", "Category"}, {"2029-3", "Brand"}, {"2029-4", "Articul"}, {"2029-5", "SKU"}}),
#"Удаленные верхние строки" = Table.Skip(#"Переименованные столбцы",6),
#"Строки с примененным фильтром1" = Table.SelectRows(#"Удаленные верхние строки", each ([Articul] <> null) and ([SKU] <> null) and ([Group] <> null)),
#"Другие столбцы с отмененным свертыванием" = Table.UnpivotOtherColumns(#"Строки с примененным фильтром1", {"Group", "Category", "Brand", "Articul", "SKU"}, "Атрибут", "Значение"),
#"Разделить столбец по разделителю" = Table.SplitColumn(#"Другие столбцы с отмененным свертыванием", "Атрибут", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"Атрибут.1", "Атрибут.2"}),
#"Переименованные столбцы2" = Table.RenameColumns(#"Разделить столбец по разделителю",{{"Атрибут.1", "Год"}, {"Атрибут.2", "Неделя"}, {"Значение", "шт"}}),
#"Вставлено: объединенный столбец1" = Table.AddColumn(#"Переименованные столбцы2", "Год-неделя", each Text.Combine({[Год], [Неделя]}, "-"), type text),
#"Измененный тип" = Table.TransformColumnTypes(#"Вставлено: объединенный столбец1",{{"Group", type text}, {"Category", type text}, {"Brand", type text}, {"Articul", type text}, {"SKU", type text}, {"Год", Int64.Type}, {"Неделя", Int64.Type}, {"шт", Int64.Type}, {"Год-неделя", type text}}),
#"Строки с примененным фильтром2" = Table.SelectRows(#"Измененный тип", each ([Group] <> "Group"))
in
#"Строки с примененным фильтром2"
Расчет суммы в Power BI за прошедшие 4 недели (сумма предварительно рассчитанной меры), Сумма рассчитанной меры за прошедшие 4 недели
 
Tefra, большое спасибо, то что нужно.
Расчет суммы в Power BI за прошедшие 4 недели (сумма предварительно рассчитанной меры), Сумма рассчитанной меры за прошедшие 4 недели
 
Tefra, спасибо. Данная формула мне не подходит, т.к. по ней суммируется все с начало года, а мне необходима сумма последних 4-х недель. Все еще никак не не могу решить.
благодарю за содействие).
Расчет суммы в Power BI за прошедшие 4 недели (сумма предварительно рассчитанной меры), Сумма рассчитанной меры за прошедшие 4 недели
 
Неделя11 март 18 март 25 март 1 апр. 8 апр. 15 апр. 22 апр. 29 апр.
Frct error0,390,410,000,280,120,260,220,10
Сумма 4-х   недель то что рассчиталась0,020,200,120,250,180,140,210,14
Сумма 4-х   недель то что должно быть0,390,800,801,080,810,660,870,69

Прикрепил пример в Excel
Расчет суммы в Power BI за прошедшие 4 недели (сумма предварительно рассчитанной меры), Сумма рассчитанной меры за прошедшие 4 недели
 
Добрый день. Прошу помочь.
Есть две таблицы с данными прогноза и факта продаж. в прогнозе указаны две даты: неделя на которую построен прогноз и неделя на которой был создан прогноз (версия прогноза)
Определяется прогноз построенный 4 недели назад (Прогноз X+4)
Код
Прогноз X+4 = CALCULATE(
        SUM('Прогноз'[Прогноз продаж]);
        FILTER('Прогноз';DATEADD('Прогноз'[Версия прогноза];28;DAY)='Прогноз'[Дата])
       )
Далее вычисляется ошибка в прогноза (Frct error)
Код
Frct error = ABS(DIVIDE(
        SUM('факт'[Факт продаж])-'Прогноз'[Прогноз X+4];
        'Прогноз'[Прогноз X+4];
        BLANK()
        ))
для дальнейших расчетов необходима сумма ошибки прогноза за 4 недели, но у меня сумма рассчитывается неверно.
ниже формула по которой я пытаюсь суммировать ошибку прогноза за 4 недели
Код
Сумма 4-х недель Frct err = 
CALCULATE(
            'Прогноз'[Frct error];
            DATESINPERIOD('Календарь'[Неделя];MAX('Календарь'[Неделя]);-28;DAY)
        )
подскажите в чем ошибка или как можно это сделать.
Суммирования с нарастающим итогом с использованием отборов по фильтру Power BI, не показывает нарастающий итог когда дата выпадает на субботу
 
Добрый день.

пытаюсь сделать сумму по нарастанию, но сумма не агрегируется когда дата попадает на субботу, т.к. на субботу не на всех филиалах есть продаж
Не смог понять в чем ошибка.
Код
Итоги по нарастанию = CALCULATE(
        SUM('Лист1'[продажи]);
        FILTER('Лист1';'Лист1'[Дата] <= EARLIER('Лист1'[Дата]));
        FILTER('Лист1';'Лист1'[Год-Месяц] = EARLIER('Лист1'[Год-Месяц]));
        FILTER('Лист1';'Лист1'[Бренд] = EARLIER('Лист1'[Бренд]));
        FILTER('Лист1';'Лист1'[Филиал]=EARLIER('Лист1'[Филиал]))
)

Power BI начал только осваивать и к сожалению нет опыта программирования)
Изменено: nurlan86 - 30.01.2019 12:53:13
Защита листов книги от записи открытый на общий доступ, Защита листов общей книги Excel от записи определенным пользователям
 
The_Prist, спасибо за отклик.
Данная функция становиться недоступным при открытии общего доступа.
А если не открывать общий доступ, то несколько пользователей не могут сохранять свои внесенные данные.
Подскажите какие есть решения.
Сводная таблица/диаграмма в книге с открытым общим доступом на сетевой папке, Сводная таблица/диаграмма в книге с открытым общим доступом на сетевой папке
 
The_Prist, спасибо.  
Сводная таблица/диаграмма в книге с открытым общим доступом на сетевой папке, Сводная таблица/диаграмма в книге с открытым общим доступом на сетевой папке
 
The_Prist, спасибо за отклик.
Да, смотрел про ограничения при общем доступе.
Так как это нельзя сделать стандартным образом решил задать такой вопрос здесь, может кто уже пробывывал с помощью макросов решить данное ограничение  
Сводная таблица/диаграмма в книге с открытым общим доступом на сетевой папке, Сводная таблица/диаграмма в книге с открытым общим доступом на сетевой папке
 
Доброго времени! В Excel 2016 если открыть общий доступ к книге и разместит в сетевую папку, то вставка сводной таблицы/диаграммы становиться недоступным. А если отключить общий доступ,  выставить водную таблицу/диаграмму и потом открыть общий доступ, то сводная таблица/диаграмма становится недоступной для пользования.
Подскажите как можно это обойти,  есть ли какие нибудь решения.  
Защита листов книги от записи открытый на общий доступ, Защита листов общей книги Excel от записи определенным пользователям
 
Всем привет!  Подскажите кто может. Есть книга которая размещена на сетке и на которой открыт общий доступ. Как можно поставить защиту на каждый отдельный лист для отдельных пользователей, чтобы каждый пользователь мог корректировать только свой данные (свой лист. )
Как макросом вызвать процедуру записанную в надстройке
 
The_Prist, большое спасибо! Все поучилось.
Изменено: nurlan86 - 22.06.2016 13:24:46
Как макросом вызвать процедуру записанную в надстройке
 
Подскажите, как можно вызвать макросом процедуру записанный в надстройке.
Есть созданная и выведенная на ленту надстройка выполняющая определенные действия.

В данное время пишу макросы которые в части выполняют действия надстройки.
Хочу чтобы макрос вызывал действия надстройки, но не знаю как? Через оператора Call не получается его вызвать.
Как можно вызвать действие выполняемый надстройкой

К примеру:
Код
Sub Макрос1
Действие1
Действие2
[U]вызов действии надстройки[/U]
Действие3
End sub
Добавление срок в таблицу при заполнении документа Word из данных Excel
 
Ничего к сожалению не получается.
Подскажите а что прописывать в переменную bm
Запуск макроса через сохраненную и загруженную надстройку
 
The_Prist, большое спасибо!
Все получилось  :)
Добавление срок в таблицу при заполнении документа Word из данных Excel
 
Игорь,подскажите как мне сделать ссылку на мой открытый документ и где прописать код.
Я новичок в этом деле и не совсем все получается.
Добавление срок в таблицу при заполнении документа Word из данных Excel
 
Всем доброго времени суток!
Есть таблица Excel с данными на основании которого заполняется документ Word по шаблону.
Имеется макрос который заполняет документ Word в зависимости от выбранной строки (заполняет данные активной сроки).
Макрос был взят из сети и отредактирован.
Пример макроса с таблицей и шаблоном документа загружен.
Суть заключается в следующем в таблице имеются данные по договорам, по некотором договорам имеются данные в нескольких последующих сроках.
Смог осуществить только заполнение данных активной сроки.
Не могу сделать чтобы после заполнения данных активной сроки в Word макрос проверял следующую сроку и если в первом столбце следующей сроки нет данных, то макрос добавил в таблице Wod новую сроку и заполнил ее данными (следующей сроки Excel). А если в первом столбце следующей сроки есть данные остановился.
Код
Sub Generator()

Dim file As String
Set ob1 = ActiveWorkbook.ActiveSheet ' теперь переменная ob1 будет содержать ссылку на текущий лист активной книги
f_r = Selection.Row ' определяем номер выбранной строки
f_c = Selection.CurrentRegion.Columns(Selection.CurrentRegion.Columns.Count).Column ' определяем номер последнего столбца в данной таблице
file = Application.GetOpenFilename("Excel Files (*.docx;*.doc), *docx;*.doc") ' открывается диалоговое окно "Открытие документа"

' запускаем Word, открываем выбранный документ
Set ObjWord = CreateObject("Word.Application")
    With ObjWord
        .Visible = True
        .Documents.Open Filename:=file
        Set objDoc = .ActiveDocument
    End With
    With objDoc.Range
    For j = 1 To f_c ' цикл по всем столбцам таблицы
        isk_zn = ob1.Cells(1, j) 'искомое значение - находится в первой строке нашей таблицы
        zamen_zn = ob1.Cells(f_r, j) 'значение для замены
        .Find.ClearFormatting
        .Find.Replacement.ClearFormatting
        'осуществляем замену
        With .Find
            .Text = isk_zn
            .Replacement.Text = zamen_zn
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        .Find.Execute Replace:=2
    Next j
    
    End With
    
End Sub


Запуск макроса через сохраненную и загруженную надстройку
 
Всем привет! Прошу помочь и подсказать.
Есть функции созданные в VBA и макросы, которыми пользуются на разных компьютерах и разных документах Excel. Для передачи этих макросов и функции другим пользователям решил сохранить их как надстройки и загрузить им, для того чтобы можно было использовать во всех документах.
Сохранил их как надтсройку (т.е. книгу в которой они прописаны), загрузил и включил ее.
Функции работают, но макросы при нажатии ALT+ F8 не отражаются. А если открыть окно VBA все макросы имеются и запускаются.
Подскажите как сделать чтобы в надстройке запускались сохраненные макрос.
Или если имеется подскажите альтернативный способ.
Макрос выделения строки по условию
 
Примерно так,

Sub макрос()

Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row

   For i = 1 To iLastRow
   
       If Cells(i, 1) = "Итого" Then
       Rows(i).Font.Bold = True
       End If
       
   Next
   
End Sub
Страницы: 1
Наверх