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

Страницы: 1 2 След.
Определение "новый"/"повторный" заказ с помощью DAX.
 
PooHkrd, Максим Зеленский,
Спасибо.
Определение "новый"/"повторный" заказ с помощью DAX.
 
Максим Зеленский,
Огромное спасибо, то что нужно! Про файл - учту.
А может быть вы знаете хороший учебник/сайт/форум по DAX с разборами, примерами? А то кроме официального справочника и пары разрозненных статей пока ничего толкового не нашёл.
Определение "новый"/"повторный" заказ с помощью DAX.
 
Кейс следующий, нужно с помощью DAX создать в PowerPivot КОЛОНКУ, которая будет определять статус для записи-заказа, новый это заказ или старый. Алгоритм определения статуса заказа следующий:
1) Если идентификатор клиента встречался в предыдущих МЕСЯЦАХ, то заказ считается "Повторным".
2) Иначе заказ считается "Новым".

Не очень хорошо пока ориентируюсь в DAX функциях, тыкаюсь с FIND, SEARCH, пытаюсь получить отфильтрованную таблицу за предыдущий срок, но решения пока не выходит. Может опытные форумчане смогут подсобить?

Пример того, что должно выходить:
Идентификатор клиентаДата заказа Статус заказа
155501.03.2018Повторный
277702.02.2018 Новый
355502.02.2018Повторный
433302.02.2018Повторный
555515.01.2018Новый
6333 08.01.2018Новый
7333 04.01.2018Новый
8 555 01.01.2018 Новый
Как перехватить событие изменения Среза сводной таблицы
 
Хм, почему-то не работает. Это тоже - выдаёт 1004 application-defined or object-defined error. Грешу на отсутствие какой-либо библиотеки. Или проблема в ином?
Группировка различных типов данных через Power Pivot
 
Неужели никто не сталкивался с подобной задачей?
Группировка различных типов данных через Power Pivot
 
Возникла ещё одна проблема. Созданные выше описанным способом 2 вычисляемых столбца отражаются верно. Но при расчёт относительных и абсолютных отклонений Валовая прибыль / к выручке считается не верно. Предположим 35%-20%=35% 35%/20%=#ЧИСЛО!. Грешу на:

Цитата
=IF(DISTINCT(RezultStati[Статьи затрат])="Валовая прибыль / к выручке";calculate(SUM(Rezult_plan[План 2013]);RezultStati[Статьи затрат]="Валовая прибыль")/calculate(SUM(Rezult_plan[План 2013]);RezultStati[Статьи затрат]="Выручка");SUM(Rezult_plan[План 2013]))
Группировка различных типов данных через Power Pivot
 
Решил проблему следующим образом - создал вычисляемое поле:

Цитата
=IF(DISTINCT(RezultStati[Статьи затрат])="Валовая прибыль / к выручке";calculate(SUM(Rezult_plan[План 2013]);RezultStati[Статьи затрат]="Валовая прибыль")/calculate(SUM(Rezult_plan[План 2013]);RezultStati[Статьи затрат]="Выручка");SUM(Rezult_plan[План 2013]))

Думаю кому-нибудь пригодится.
Вообще достаточно громоздкая конструкция получилась, и трудноредактируемая. Если кто-то подскажет более изящное решение, буду премного благодарен.
Группировка различных типов данных через Power Pivot
 
Скажем, есть три столбца - Статьи, Месяца, Значение. Среди статей есть как количественные (материалы), так и и процентные (рентабельность). Поэтому если создавать сводную таблицу с временной шкалой, и выбирать период в полгода, он суммирует все значение, что неверно для процентных значений. Можно ли выбрать смешанный агрегатор и указать, мол тут ты считаешь сумму, а тут среднее?
Работа с браузером
 
Да, это возможно в восьмёрке, но не в девятке. В девятке этот пункт убрали вовсе. Не стал морочиться с этой версией, откатился до 8-ки. Всем спасибо, тему можно закрывать.
Работа с браузером
 
Проблема решилась. На ХР, чтобы файлы после авторизации закачивались без вслывающего окна устанавливал домены в Надёжные узлы и включал закачку без запроса. На 7-ке сделал это также, что почему-то и привело к отключению навигации через вба. Хотя всё, что можно в настройках разрешил и включил. Вытащил из надёжных, заработало нормально. Только теперь надо будет решить проблему со всплывающим окном о запросе загрузки. Может кто-нибудь знает, как в IE9 разрешить с определенного домена закачку без запроса?
Работа с браузером
 
Ну я вашего сообщения не видел.
Работа с браузером
 
Боюсь дело в библиотеке. С другой стороны не понимаю, почему на Яндексе работает.
Работа с браузером
 
Та же проблема, через WebBrowser не понимает указаний на элемент в любом виде на 7-ке 64 бит. На ХР всё нормально
Работа с браузером
 
Ну там не 0, а 5. Но не суть, я повторюсь - на первой системе код прекрасно работает, вводит логин и пароль и жмакает по ОК. На второй же работает только код с яндексом, а на требуемом сайте ни в какую.
Работа с браузером
 
Простите - вру.  
oIE.document.forms(0).elements(0).Value = "111"    
На этой строке. И в случае Яндекса ничего не говорит.
Работа с браузером
 
На oIE.navigate ("yandex.ru"). При чём в случае Яндекса ничего не говорит.
Работа с браузером
 
Нет, так реализовать не получится. Там обычные поля для логина и пароля.
Работа с браузером
 
Sub info()  
Dim oIE As Object  
Set oIE = CreateObject("InternetExplorer.Application")  
oIE.Visible = 1    
oIE.navigate ("yandex.ru")  
Do While oIE.busy Or (oIE.readyState <> 4): DoEvents: Loop    
Application.Wait Now + 1.5 / 86400  
oIE.document.forms(0).elements(0).Value = "111"    
End Sub  
 
Данный код прекрасно работает на 2-ух системах: 1)Windows XP 32bit Office 2007, 2)Windows 7 64bit Office 2007. Т.е. в поисковую строку Yandex вводится 111.  
 
Если же подставить интересующий меня сайт, и соответственно другой элемент, то код исполняется лишь на первой системе. На семерке же код отчего-то выдаёт ошибку:  
Run-time error ‘-2147417848 (80010108)’:  
 
Automation error  
The object invoked has disconnected from its clients.  
 
Отчего так - думается из-за библиотек или из-за битности системы. Но не пойму, почему в первом случае с Yandex всё работает прекрасно. Был бы премного благодарен, если бы указали куда копать или подсказали решение.
Проблема со скачиванием файла на 64-bit'ной системе
 
Друзья, подскажите хотя бы куда копать.
Проблема со скачиванием файла на 64-bit'ной системе
 
Sub info()  
Dim oIE As Object  
Set oIE = CreateObject("InternetExplorer.Application")  
oIE.Visible = 0 ' не отображать окно Интернет Эксплорера 0/1 отображать  
oIE.Navigate ("www") 'сайт  
Do While oIE.busy Or (oIE.readyState <> 4): DoEvents: Loop 'ждем пока браузер загрузится  
Application.Wait Now + 1.5 / 86400  
oIE.document.forms("pform").elements("camusername").Value = "login" 'вводим логин  
oIE.document.forms("pform").elements("campassword").Value = "1234" 'вводим пароль  
oIE.document.forms("pform").elements("cmdok").Click 'нажимаем ОК  
oIE.quit  
set oIE=nothing  
End Sub  
 
Проблема в том, что данный код работает на XP 32битном, но не работает на 64-битной 7ке. Ругается на oIE.document.forms("pform").elements("camusername").Value = "login". Говорит, что непонятный ему интерфейс. Пробовал подключать те же библиотеки - безуспешно. Также игнорирует oIE.Visible = 0, и всё равно показывает IE. Понимаю, что ошибка скорее всего из-за битности, но пока информации не нашёл. Заранее благодарен.
Макрос открытия вебсайта с вводом логина и пароля
 
Спасибо, поковыряюсь.  
Всё таки хотелось бы ещё разобраться с запросом - почему не влазиет. Хочу сейчас попробывать разбить на части, присвоить переменным и собрать через &. Но почему-то кажется проблема не в этом.
Макрос открытия вебсайта с вводом логина и пароля
 
Да я в курсе, сам был неприятно удивлён. Айтишники говорят, что страничка формируется програмкой, т.е. претензии по идее к IBM. Насколько правда - не знаю, но по факту - вот такой случай.
Макрос открытия вебсайта с вводом логина и пароля
 
Ну да - не совсем корректно выразился. Id либо нет, либо он для всех объектов во фрейме одинаковый.    
 
Пытаюсь запихнуть его oIE.Navigate ("код ХМL"). Он туда не влазит и оказывается на следующих строках.
Макрос открытия вебсайта с вводом логина и пароля
 
К сожалению страница формируется программой, и id, tagname не проставляет. Если и есть возможность, то только переходом по фреймам и выбору по строке, столбцу в табличке.  
 
В принципе, интересует уже второй вопрос. Есть длиннющий xml запрос. В vba не влазиет. Как быть?
Макрос открытия вебсайта с вводом логина и пароля
 
Проблема усложняется тем, что формы нет. Есть фреймсет, в нем ещё штук 8 фреймов. По указанному вами методу, перебор не идёт, да и искать через Watch крайне неудобно - считай, что копаться в HTML. В принципе, интересует каким ещё образом можно обращаться к объектам на странице. Можно ли задавать путь, скажем, таким образом /html/body/table[2]/tbody/tr/td/div/table[4]/tbody/tr[2]/td/table/tbody/tr/td/a?
Макрос открытия вебсайта с вводом логина и пароля
 
Собственно проблему пока решил строчкой кода:  
Application.Wait Now + 1 / 86400  
Но мне не кажется этот способ достаточно разумным. И не пойму, почему в первом случае не работает.  
Появилась новая проблема. Нужно дальше гулять по сайту, кликая на определенные кнопки. Проблема в том, что я не могу определить ни id, ни forms этих кнопок. Код 2-х из них выглядит примерно так:  
 
Утверждение УЭиП  
 
Утверждение УЭиП  
Не пойму, как к ними обращаться. Название самих кнопок разные.  
И ещё - пытался поиграться с этим способом скачивания документов - http://excelvba.ru/code/DownloadFile. Возникла проблема в том, что огромные ссылки просто не хотят влазить, даже если дробить _. Интересно, каким образом можно решить эту проблему.  
Заранее благодарю.
Макрос открытия вебсайта с вводом логина и пароля
 
Sub info()  
Dim oIE As Object  
Dim tmp, i As Long  
Set oIE = CreateObject("InternetExplorer.Application")  
oIE.Visible = 0 ' не отображать окно Интернет Эксплорера 0/1 отображать  
oIE.Navigate ("http://www") 'сайт  
Do While oIE.busy Or (oIE.ReadyState <> 4): DoEvents: Loop 'ждем пока браузер загрузится  
oIE.Document.forms("pform").elements("camusername").Value = "111" 'вводим логин  
oIE.Document.forms("pform").elements("campassword").Value = "1234" 'вводим пароль  
oIE.Document.forms("pform").elements("cmdok").Click 'нажимаем ОК  
Do While oIE.busy Or (oIE.ReadyState <> 4): DoEvents: Loop 'ждем пока браузер загрузится  
oIE.Visible = 1  
End Sub  
 
Пошагово этот код выполняется прекрасно.При обычном запуске макроса выдаёт    
Run-time error '91': Object variable or With block variable not set  
В чём проблема понять не могу.
Панель быстрого доступа
 
Жаль. Спасибо.
Панель быстрого доступа
 
Существует ли способ через VBA изменять панель быстрого доступа? Добавлять, удалять кнопки, назначать им иконку и давать название?
Включить надстройку
 
C VBS незнаком, прописать собственно где? Так как надстройку делаю не для себя, а для людей не разбирающихся в программировании, то хотелось бы решить эту проблему без шаманства. Или, чтобы мне пришлось единожды подшаманить им, и надстройка в будующем цеплялась автоматически.
Страницы: 1 2 След.
Наверх