Страницы: 1
RSS
Прямой запрос к модели PowerPivot и вывод в SmartTable, Как то можно составить ручной DAX или MDX запрос внутри Excel к PowerPivot?
 
Всем привет!

Есть модель в PowerPivot, есть сводная таблица подключенная к ней.
Но так как в Excel нет вохможности настроить выдачу при детализации данных для сложных рассчетов,
то постоянно лезу в саму модель и оттуда копирую данные, но при этом постоянно вручную настриваю фильтры.
А хотелось видеть это примерно так же, как реализовано в MS SSAS Tabular 2017, когда при детализации он создает привязанную смарт-таблицу с понятным запросом, например:
Код
DRILLTHROUGH MAXROWS 1000 
SELECT [Measures].[АСР.Churn] ON COLUMNS 
FROM (SELECT {[Отчетный период].[Отчетный период (по кварталам)].[Год].&[2018].&[4 кв-л.]} ON COLUMNS 
FROM (SELECT  FROM (SELECT ({[Отчетный период].[Отчетный период (по кварталам)].[Год].&[2019].&[1 кв-л.], 
    [Отчетный период].[Отчетный период (по кварталам)].[Год].&[2018].&[4 кв-л.]}) ON COLUMNS  
FROM ...

И я могу его редактировать, таким образом я получаю обновляемое детализированное представление нужного мне среза.

А если я делаю детализацию от модели в PowerPivot, то там нет такого запроса.

Есть ли возможность все таки создать произвольный запрос к экземпляру PowerPivot?

 
По копайтесь в постах Максима Зеленского в поиске форума. Не так давно он давал ссылки как такое можно провернуть. Андрей VG кажется тоже на эту тему ссылки давал.
Вот горшок пустой, он предмет простой...
 
Правильно я понимаю, что это единственный вариант?  
 
С помощью VBA
Код
Sub test()
    
    Dim s As Worksheet
    Dim t As TableObject
    Dim dax_query As String
    
    Set s = ThisWorkbook.Sheets("Sheet6")
    
    Set t = s.ListObjects("Table_ExternalData_1").TableObject
    
    dax_query = t.WorkbookConnection.OLEDBConnection.CommandText
    
    MsgBox dax_query
    
End Sub
Нашел строку подключения:
Код
Provider=MSOLAP.5;
Persist Security Info=True;
Initial Catalog=Microsoft_SQLServer_AnalysisServices;
Data Source=$Embedded$;
MDX Compatibility=1;
Safety Options=2;
MDX Missing Member Mode=Error;
Subqueries=0;
Optimize Response=7;
Update Isolation Level=2
И даже виден DAX запрос.

Но подключение повторить не удалось...
Однако удалось внести изменение уже в самом VBA и обновить таблицу:
Код
t.WorkbookConnection.OLEDBConnection.CommandText = "some DAX query"
t.Refresh
Но попытки сделать кнопку обновления активной - оказались безуспешны.
+ подключение, как-будто одно на всех.

Цитата
PooHkrd написал:
По копайтесь в постах Максима Зеленского в поиске форума. Не так давно он давал ссылки как такое можно провернуть. Андрей VG кажется тоже на эту тему ссылки давал.
Не смог найти подходящие ответы.

Можете помочь советом? Или скажите, что это невозможно и MS намерено закрыл такую шикарную возможность :(
Страницы: 1
Наверх