/ / Ускоряване на времето за опресняване за множество конфигурации, използващи един външен OLAP куб - excel, vba, свързващ стринг, опорна маса, куб

Ускоряване на времето за опресняване за множество конфигурации, използващи един външен OLAP куб - excel, vba, свързващ стринг, опорна маса, куб

Имам връзка към Office Data (ODC), посочена в OLAP куб, съхраняван на сървъра на нашата компания.Връзката за свързване е доста ясна:

Provider=MSOLAP.6;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Reporting Model;Data Source=SQL03;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error

Използвайки този куб, създадох файл в Excelс множество конфигурации, по един на всеки работен лист. Всичко работи добре, но когато опреснявам обобщените таблици, за да получат най-новите данни, всяка обобщена таблица опреснява поотделно, т.е. следното се появява за всеки контекст, като се използва връзката към куба:

  1. Опресняване на OLAP куб
  2. Стартиране на OLAP заявка

Има ли решение, което изисква само едно опресняване, като всички пасивни таблици го споделят? Опитах да направя всички конфигурации да използват един и същ кеш, но се опитват да зададат кеш памет като използват:

Sheets("Pivot").PivotTables(1).CacheIndex = 1

завършва Грешка при изпълнение "1004": Грешка, дефинирана от приложението или зададена от обекта

Има ли начин да получите всички конфигурации за споделяне на източника на данни по някакъв начин?

Може би чрез създаване на локално копие на OLAP куб след отваряне на файла или чрез кеширане на PivotTable по различен начин?

Аз играя с намерената VBA http://www.contextures.com/xlPivot11.html но изглежда, че вашите данни идват от местен източник.

Отговори:

0 за отговор № 1

Концепцията за "кеш" за пинове, базирани на OLAP, е напълно различна от тази за не-OLAP-базирани пинове. Според https://support.microsoft.com/en-us/kb/234700

Въртанията се базират на OLAP данни, самообобщените данни се връщат до Excel, на необходимата основа. С външни OLAP външни бази данни, всички записите на отделните източници се връщат, а след това Excel прави обобщаване.

Следователно OLAP базите данни могат да предоставят на Excel възможността да анализират много по-големи количества външни данни.

Но също така и вероятно не е възможно илижелателно да "кеширате" основните данни в Excel, без да правите някои значителни агрегати по него. Но може би това е решението: направете чудовищно PivotTable с всяко поле, за което искате да подадете сигнал, и след това създайте интерфейс за отчитане, който просто препраща към тази чудовищна конфигурация чрез функцията GETPIVOTDATA.