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

Страницы: 1 2 3 4 5 6 7 8 9 10 След.
Ошибка при подключении к PostgreSQL с курсором adOpenKeyset
 
Всем добрый вечер!
Возникла вдруг такая проблема: при подключении к PostgreSQL через recordset при указании типа курсора rs.CursorType = adOpenKeyset возникает ошибка "cursor updatability changed". Макросы все выполняются, но это сообщение возникает постоянно при таком курсоре. Если его изменить или не устанавливать, то при переборе курсором recordset возникает уже другая ошибка "Набор строк не поддерживает прокрутку данных в обратном направлении". А эта ошибка уже останавливает работу макроса. Никакие On error resume next или Application.DisplayAlerts = 0 не помогают. Возможно, надо отключать сообщения об ошибках в самом скрипте к PostgreSQL.
Никто не знает, как это лечить?
Проблема Power Pivot: отображаются излишние данные в сводной таблице
 
Валентин Богданов, у вас связи идут в одну сторону Проекты -> Файлы проектов -> Смета в файле -> Договоры. И нет связи, например, между Договором и Названием проекта, потому что для этого связи должны идти в другую сторону. Менять направление связей можно с помощью функции CROSSFILTER - в новом примере я сделал с ней, но вообще на вашей боевой модели не факт, что все будет так гладко работать, как на примере.
А вообще может заглянет сюда кто-то из гуру и даст вам абсолютно другой и более оптимальный вариант )
Доступ на открытии файла Excel
 
powerwer, посмотрите метод GetRows Только обратите внимание, что он возвращает двумерный массив.
Изменено: Ungrateful - 05.11.2022 16:20:49
Проблема Power Pivot: отображаются излишние данные в сводной таблице
 
Посмотрите на направление стрелок в связях, у вас нет связи между Договорами и Проектами, а также между Сметой и Проектами. А в отчете они живут все вместе и предполагают взаимосвязь.

UPD: посмотрите, изменил модель - ввел справочник, завязал на него отчет в сводной и скорректировал меры. Возможно есть и другие варианты решения, но я пока не настолько хорошо разбираюсь в dax.
Изменено: Ungrateful - 05.11.2022 16:03:25
Доступ на открытии файла Excel
 
Если правильно понял, то что-то вроде. Но если будут отключены макросы, не сработает.
Код
    Dim ws As Worksheet
    Dim rng As Range
    
    Set ws = Me.Sheets("техн")
    Set rng = ws.Range("A1")
    
    If rng = 0 Then Me.Close 

 А вообще зачем записывать данные в ячейку, если их сразу можно брать из Recordset?

Изменено: Ungrateful - 05.11.2022 15:14:10
POWER Bi, DAX - формула итога за год.
 
Попробую без примера. Сначала через VAR задаёте переменную с текущим годом, затем в фильтре в CALCULATE приравниваете год фильтра к году в переменной.
DAX: построение топов
 
mechanix 85, спасибо, попробую так. Но все же интересно, можно ли без этого, ведь справочники по всем полям делать, если их пару десятков - это то ещё веселье.
DAX: построение топов
 
mechanix 85, для интереса добавил второй уровень клиента + в формулу тоже, вылезли какие-то -70 в другой строке. Вот тут не пойму, с чего бы...
DAX: построение топов
 
mechanix 85, так работает, спасибо!
Как вы это делаете, я никак не могу запомнить все нюансы DAXа? ) Более-менее простое в голове укладывается, а когда начинается наложение фильтров и мер, абсолютно не могу понять, почему оно так работает, а не иначе. Видимо, надо плотно с этим работать и стараться как можно больше кейсов изучать.
DAX: построение топов
 
mechanix 85, это топ по максимальным, он работает, а по минимальным (сортировка ASC) теряется значение Клиента6.
DAX: построение топов
 
Добрый день! У меня есть мера, определяющая дельты между периодами (работает благодаря помощи на форуме), и вот я пытаюсь вывести топ из этих дельт. Пробовал через RANKX (вариант нашел тут же на форуме), но как не сидел два дня и не менял фильтры, все равно не добился, чтобы в таблице показывалась дельта по Клиенту6, хотя дельта по нему нормально отображается.
Код
= CALCULATE ( [Дельты]; 
   FILTER(VALUES('Таблица1'[Клиент]);
   RANKX( ALL('Таблица1'[Клиент]); [Дельты];;ASC)<=2)
)

Дальше смастерил своего монстра из TOPN, и хотя в DAX Studio сам топ показывается корректно, в таблицу выводятся вообще все значения (за исключением того же несчастного Клиента6).
Код
= VAR TB = SUMMARIZE('Таблица1'; 'Таблица1'[Клиент]; 'Календарь'[WEEK_END]; "dlt"; [Дельты])
VAR TOP2 = TOPN(2; TB; [dlt]; ASC)
VAR RES = CALCULATE([Дельты]; TOP2)

RETURN RES
Просьба помочь разобраться, что я не учел. Модель данных теперь с календарем, крутил все и так и этак. В примере варианты самые близкие к реальности.
DAX: не считается дельта, если клиент отсутствует в одном из периодов
 
surkenny, ну да, я и воспринял, как отписку, потому что аналогичные советы были одновременно даны людям в трёх сообщениях. Надеюсь, теперь я не в чёрном списке по помощи )
DAX: не считается дельта, если клиент отсутствует в одном из периодов
 
StepanWolkoff, прошу прощения, я тупой! В варианте с календарем вчера у себя сделал ошибку, на свежую голову ее увидел, все работает. Спасибо! Был на взводе, извиняюсь, что переложил это на вас.
Изменено: Ungrateful - 01.11.2022 09:56:24
DAX: не считается дельта, если клиент отсутствует в одном из периодов
 
surkenny, я сделал с календарем, но результат был тот же, в чем дерзость? Единственное, что файл из-за размера не выложился. Вы полагаете, что здесь настолько сложная проблема, что заслуживает раздела Работа? Реально не понимаю, почему одним помогают, а в моем случае были ссылки на обучение - вот разбирайся и сам делай. Поверьте, я до этого долгое время пытался сам разобраться, перелистывал книги, искал похожие кейсы. Но они все были для PBI с отсутствующими в PP формулами. В общем, я понял, что расчитывать на форум теперь не приходится, пошёл разбираться дальше или переделывать все на более гибких инструментах, чем dax.
DAX: не считается дельта, если клиент отсутствует в одном из периодов
 
Рад, что у вас подучилось. Красивая картинка. Я уже понял, что помощи от вас не дождусь, только издевательство.  
DAX: не считается дельта, если клиент отсутствует в одном из периодов
 
Спасибо, почитаю все части, пока только ограничился частью 4, но увидел, что там не мой вариант. Кстати, там списало дуются функции из PBI, которых нет в PP.
Но похоже, что я забью на этот DAX и сделаю все на SQL, там хотя бы понятно, как что работает.
Изменено: Ungrateful - 31.10.2022 21:48:04
DAX: не считается дельта, если клиент отсутствует в одном из периодов
 
StepanWolkoff, да хоть с календарем, хоть без него - результат один. Вы сами пробовали?
DAX: не считается дельта, если клиент отсутствует в одном из периодов
 
Все добрый день!
Я считаю дельту по сумме по клиентам за два периода. Если клиент есть в обоих периодах, то все в порядке, но если только в одном, то вместо дельты отображается пустота. В примере за 23.10.22 по Клиенту6 должно стоять -300, а в 16.10.22 по Клиенту7 должен быть 0.
Сейчас мера выглядит так:
Код
VAR CUR_DT = MAX('Таблица1'[Дата])
VAR FLT = FILTER(ALL('Таблица1'[Тип];'Таблица1'[ФЛ_ЮЛ]; 'Таблица1'[Исключение]);
         'Таблица1'[Тип] = "Основной"            
         && 'Таблица1'[ФЛ_ЮЛ] = "ЮЛ"
         && 'Таблица1'[Исключение] = 0
      )
VAR PREV = CALCULATE( SUM('Таблица1'[Сумма]); 
          FLT; 'Таблица1'[Дата] = CUR_DT - 7 
           )
VAR CURR = CALCULATE( SUM('Таблица1'[Сумма]); 
          FLT; 'Таблица1'[Дата] = CUR_DT 
           )
VAR RES = CURR - PREV

RETURN RES
Пробовал через ISBLANK в итогах и вместо суммы использовать SUMX + ISBLANK, но появляются лишь нули по клиентам, не удовлетворяющим условиям выборки, а напротив Клиента6 и Клиента7 все равно остается пустота.

UPD: получается, что там вообще нет значений, даже blank. Видимо надо делать аналог full join с достраиванием недостающих данных.
Изменено: Ungrateful - 31.10.2022 12:19:46
Получение данных из SQL по условию в ячейках
 
Анастасия Крючкова, нужно менять текст запроса примерно так:
Код
Sub ChangeConn()    
    Dim ws As Worksheet
    Dim strQuery As String
    Dim st As Date, fn As Date
    
    Set ws = ThisWorkbook.Sheets("параметры")
    
    st = ws.Range("B2").Value
    fn = ws.Range("C2").Value
    SecondPart = ws.Range("A2").Value
    
    strQuery = "Declare @startdate date, @finishdate date " & _
                "Set @startdate = '" & Format(CDate(st), "dd\/mm\/yyyy") & "' " & _
                "Set @finishdate = '" & Format(fn, "dd\/mm\/yyyy") & "'; " & _
                SecondPart
    
    ws.Range("A5") = strQuery
    
End Sub
В ячейке "А1" вторая (неизменяемая) часть запроса, которая начинается с CTE. strQuery - это результат, которым вам нужно заменить текст текущего запроса.

upd: немного облагородил, сделал дату с косой чертой, как у вас в запросе + приложил файл.
Изменено: Ungrateful - 20.09.2022 00:11:41
Загрузка курсов валют с сайта
 
Hydro, В своё время мне это не удалось решить через PQ, поэтому делал через Python и библиотеку selenium.
Заполнение TextBox данными из другого TextBox
 
Бобровский, а как вам нужно, чтобы работало? Если поместить в TextBox6_Change() вне блоков If, то все, что печатается в TextBox5, отображается в TextBox6, а все, что печатается TextBox6 помимо TextBox1-4, зеркально отражается в TextBox5.
Данные из URL - браузер не поддерживается.
 
Цитата
написал:
Как заменить user agent
Нажать "Подробнее", там внизу "Параметры заголовка HTTP-запроса". Из выпадающего списка в 2021 Excel почему-то пропал UserAgent, поэтому я выбираю другой заголовок и уже в редакторе в PQ заменяю название на UserAgent.
Изменено: Ungrateful - 18.09.2022 18:34:50
Заполнение TextBox данными из другого TextBox
 
Цитата
написал:
Код
    [URL=#]?[/URL]       1      TextBox5 = Replace(Replace(Replace(Replace(TextBox6, TextBox1,   ""  ), TextBox2,   ""  ), TextBox3,   ""  ), TextBox4,   ""  )   
 

Не хватае еще одного внешнего Replace, иначе запятые остаются )
Код
Replace(..., ", ", "")
Формирование POST запроса в Power Query по аналогии с VBA
 
PooHkrd, хоть я и не ТС, спасибо за видео, отличный подробный разбор.
Power Query вместо ВПР, Power Query вместо ВПР
 
surkenny, круто, не знал.
Преобразование дат
 
БМВ, да, текст тяжелый, тут не поспоришь.
Ігор Гончаренко, это вы уже смотрите через призму того, что потом кто-то не умеющий работать с форматами и типами данных возьмет мой вариант и будет страдать ) Я все еще надеюсь, что народ, в целом, стал более образован в техническом плане )
Преобразование дат
 
Цитата
сравнить с датой без телодвижений дополнительных.
Про сравнение - согласен. Но, повторюсь, что зависит от задачи. Никогда нет универсального решения, я предложил один из вариантов. А так, конечно, желание помогать такие комментарии немного отбивают. Извините, что залез на вашу поляну.
Преобразование дат
 
Ну вот налетели давить авторитетом )) Я же не знаю целей, для которых это будет использоваться. Лично я использую несколько вариантов формата дат: что-то для работы с выгрузкой из SQL Server, что-то для графиков, что-то для расчетов на листе Excel.
Игорь, вы меня удивляете, с этой ячейкой как раз можно работать как с датой. Приведите пример, что такого сделать с ней не получится?
Преобразование дат
 
Цитата
И что получите? Первоначальный текст. Или вы не читали вопрос?
В ячейке F4 сделано объединение, дальше:
=ТЕКСТ(F4;"ДД.ММ.ГГГГ")
Мне такой вариант больше нравится, чем ДАТА, т.к. можно регулировать формат.
Преобразование дат
 
Или формула ТЕКСТ() с необходимым вторым аргументом
Страницы: 1 2 3 4 5 6 7 8 9 10 След.
Наверх