Могу ли я запросить SAP BO WEBI через Excel VBA?Могу ли я сделать это достаточно быстро? - PullRequest
2 голосов
/ 15 марта 2012

В продолжение моего предыдущего поста мне нужно иметь возможность запрашивать базу данных из 6M + строк самым быстрым способом, чтобы эта БД могла эффективно использоваться в качестве «удаленного» источника данных для динамический отчет Excel.

Как я уже сказал, обычно я храню нужные мне данные на отдельном (возможно, скрытом) листе и манипулирую им через второй «контрольный» лист. На этот раз размер (то есть количество строк) моей базы данных не позволяет мне сделать это (как вы все знаете, Excel не может обработать более 1,4 млн строк).

Решение, которое поставил мой ИТ-специалист, состоит в том, чтобы хранить данные в текстовом файле внутри сетевой папки. На данный момент мне удалось запросить этот файл через ADO (медленно, но не требуется никакого обслуживания) или использовать его в качестве источника для заполнения индексированной таблицы доступа, которую я затем могу запросить (быстрее, но требует больше обслуживания и дополнительного программного обеспечения). *

Я чувствую, что оба решения, хотя и жизнеспособные, являются неоптимальными. Плюс ко всему, мне кажется, что все это - лишь излишнее усложнение. Текстовый файл на самом деле является экспортом из SAP BO, к которому ИТ-специалист имеет доступ через WEBI. Теперь я не могу просто запросить базу данных BO через WEBI "динамическим" способом?

То, что я пытаюсь сказать, это то, почему я не могу извлекать только биты информации за раз, на основе необходимости знать и непосредственно из первоисточника, вместо того, чтобы передавать все данные в объем во вторичной / дублированной базе данных?

Возможен ли такой тип "динамических" запросов? Или время «обработки» будет препятствовать успеху моего подхода? Мне нужно все это, чтобы по-настоящему чувствовать istantaneuos, как будто данные уже были там, и я на самом деле не получаю их все время.

И, самое главное, я могу сделать это через VBA? К сожалению, это единственная вещь, к которой у меня будет доступ, я не могу сделать это на стороне BO.

Я хотел бы заранее поблагодарить вас, ребята, за любую помощь, которую вы можете оказать мне!

1 Ответ

2 голосов
/ 08 января 2014

Webi (сокращение от Web Intelligence) - это интерфейсное аналитическое приложение для отчетности от Business Objects.Ваш ИТ-контакт, очевидно, создал (или имеет доступ) такой документ Webi, который извлекает данные через юниверс (уровень абстракции) из базы данных.

Один из способов, который вы могли бы использоватьданные, извлекаемые Web Intelligence в качестве источника и динамически запрашивающие биты вместо того, чтобы извлекать всю информацию за один раз, используют функцию BI Web Service .Это сделает данные из Webi доступными в качестве веб-службы, которую затем можно будет извлечь из Excel.Вы можете даже сделать это динамическим, добавив подсказки, которые наложат ограничения на извлеченные данные.

Просмотрите страницу для быстрого обзора (или Google Web Intelligence BI WebСлужба для других руководств).

Другой подход может заключаться в использовании SDK , хотя при попытке манипулировать Web Intelligence вашими единственными языковыми опциями являются .NET или Javaпоскольку Rebean SDK (используется для связи с Webi) недоступно для COM (т. е. VBA / VBScript /…).

Примечание: если вы используете BusinessObjects BI 4.x, помните, чтоReese SDK фактически устарел и заменен REST SDK.В конце концов, это может позволить подойти к Webi с использованием VBA.

При этом я не совсем уверен, является ли это лучшим подходом, поскольку вы фактически вводите несколько промежуточных уровней:

  1. База данных (содержит данные, которые вы хотите получить)
  2. Юниверс (уровень семантической абстракции)
  3. Web Intelligence
  4. Способ получения данныхWebi (ручной экспорт, веб-сервис, SDK,…)
  5. Excel

В зависимости от вашей лицензии и того, чего вы пытаетесь достичь, Xcelsius или Design Studio (BusinessObjects BI 4.x) также может быть жизнеспособной альтернативой интерфейсу Excel, тем самым устраняя слои с 3 по 4 (и заменяя слой 5).Бэкэнд первого на самом деле в значительной степени основан на Excel (хотя поддержка VBA отсутствует).Design Studio позволяет создавать скрипты на JavaScript.

...