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

Страницы: 1
Поиск максимального значения из значений расcчитанных в метрике (Power BI, DAX), Помощь в написании метрики для определение максимального/ых значений этой метрики
 
Доброго времени суток.

Может сможете подсказать где я допустил ошибку.

Дано:
Таблица с данными (в примере разбил ее на несколько таблиц, для удоства восприятия, на получение результата не должно влиять), где data1 и data2 исходыне данные, в оригинальной таблице это одна таблица;
"Element ENG" - столбец для группировки;
value - значение.

Есть метрика "SwitchValCY/Py (metric)" - определяет отношение значения value текущего года (в примере Year = 2023) к предыдущему (в примере Year = 2022).
Таблица в примере "ValueOfMetric", где "Element ENG" - группировка, "SwitchValCY/PY (metric)" - зачение метрики.

Есть метрика, в которой я попытался получить это значение, но она работает некорректно.
Код
MaxSwitchVal (metric) = 
VAR MaxSwitchVal = CALCULATE(
        [SwitchValCY/PY],
        GROUPBY(Elements,Elements[Element ENG]
        )
    )
VAR NewTable = SUMMARIZE(
        'Scores by apparatuses (transp)', Elements[Element ENG],
        "CalcCul", MaxSwitchVal
    )
RETURN MAXX(
    NewTable,
    MaxSwitchVal
)

Найти:
Максимальное значение "SwitchValCY/PY (metric)" метрики.
Таблица в примере "Result", где "MaxSwitchVal (metric)" - необходимое значение, "Element ENG" -  текстовое значение element'а, которому соответствует "MaxSwitchVal (metric)" значение.
Копирование данных с одного листа на другой .copy Destination
 
Добрый день.
Может кто сталкивался с копированием данных и вставке их через гиперссылку.

есть такой вариант
Код
Dim LastActiveSheet As Worksheet, lastrow As Integer

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Set LastActiveSheet = ActiveSheet
lastrow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
With ActiveSheet
For i = 2 To lastrow
    .Cells(i, 12).Copy
    .Cells(i, 13).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
LastActiveSheet.Activate
Next i
End With
End Sub
хотелось бы сделать это через .copy Destination, в качестве выхода брать адрес гиперссылки

Такой вариант не работает.
Код
    .Cells(i, 12).Copy Destination:=Hyperlinks(1).address
Буду рад предложениям.
For Each при условии в ячейке листа, корректировка макроса
 
Добрый день.
Макрос выводит в диапазоне наименование всех листов в книге в виде гиперссылок (оглавление).
Код
    Dim sheet As Worksheet
    Dim cell As Range
    With ActiveWorkbook
   
    Worksheets(8).Select
    Rows(70).Select
    Selection.ClearContents

    For Each sheet In ActiveWorkbook.Worksheets
         Set cell = Worksheets(8).Cells(70, sheet.Index + 2)
         .Worksheets(3).Hyperlinks.Add Anchor:=cell, Address:="", _
         SubAddress:="'" & sheet.Name & "'" & "!A1"
         cell.Formula = sheet.Name
    Next
    End With
    
    ActiveSheet.Calculate
Необходимо условие, если cells(1,2) = "Выводить", тогда данный лист выводится, в противном случае next.
Пробовал добавить цикл отдельно на проверку листов с такой ячейкой - не получилось =(
Код
For i = 9 To Sheets.Count
    Worksheets(i).Activate
    If Cells(1, 2) = "Выводить" Then
        Worksheets(i).Select
    End If
Next
Selection.Name = sheet
    
    With ActiveWorkbook
   
    Worksheets(8).Select
    Rows(70).Select
    Selection.ClearContents

    For Each sheet In ActiveWorkbook.Worksheets
         Set cell = Worksheets(8).Cells(70, sheet.Index + 2)
         .Worksheets(3).Hyperlinks.Add Anchor:=cell, Address:="", _
         SubAddress:="'" & sheet.Name & "'" & "!A1"
         cell.Formula = sheet.Name
    Next
    End With
    
    ActiveSheet.Calculate
Подскажите вариант чтоб в оглавление были наименование только тех листов , у которых "B1" = "Выводить".

Спасибо!
Изменено: cokos92 - 30.03.2015 13:54:21
Пересчет макросом по всем листам книги начиная с ...
 
Добрый день.

В чем может быть ошибка? Знаю что тема была.
Код
Private Sub CommandButton2_Click()

Application.ScreenUpdating = False
Dim i As Integer
For i = 9 To Sheets.Count
Worksheets(i).Activate
Call Расчет_себестоимости

Next i

Worksheets("СВОД").Activate

End
Изменено: cokos92 - 18.03.2015 20:42:23
Синхронизация нескольких таблиц с одной сводной
 
Добрый день.
Не прошу полностью готовое решение, хотя бы направление и вообще реально ли такое сделать.

Есть несколько таблиц ( для каждой группы) с одинаковой структурой ( в данные таблицы заносятся исходные данные - константы в определенные ячейки). Раз в день, дынные отправляются в файл "Сводный" ( с той же структурой , но уже с расчетным механизмом) , на основе которых проводятся расчеты и отправляются каждый в свою группу, при этом сохраняя исходные данные со всех групп. Есть пару вариантов:
1 - перебирать каждую из групп с помощью макроса ( допустим).
2 - добавить переменный файл, в который будут добавляться из всех групп новые или измененные данные, после чего отправляться в "Свод" и через ключ обратно в группы.

Файлы находятся в удаленном доступе, кроме "сводного".
Вопрос в том , чтобы сводить сразу все файлы (группы со сводом) и получать двустороннюю связь (Группа n -> Свод. Свод -> Группа n).
Ну и желательно автоматизировать.  
Диапазон из констант VBA, Выделить диапазон по столбцу из констант
 
Добрый день.

Есть код для выделения диапазона (взял с форума)
Код
Public Sub qwe()
Dim ColValue As Range, RowValue As Range, c As Integer, r As Long, MyRange As Range

Set ColValue = Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
c = ColValue.Column

Set RowValue = Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
r = RowValue.Row

Set MyRange = Range(Cells(1, 1), Cells(r, c))
MyRange.Select
End Sub

Нужно переделать так, чтобы ColValue считал только константы. заменить LookIn:=xlValues на xlConstants не помогло.

Заранее спасибо за варианты.
Изменено: cokos92 - 16.03.2015 13:03:11
Страницы: 1
Наверх