Recupera MDX da pps dashboard distribuito su Sharepoint raccolta siti
-
09-10-2019 - |
Domanda
C'è un modo per recuperare i nomi e le corrispondenti query MDX di grafici e report distribuiti su un sito di SharePoint?
Sto usando Microsoft SharePoint 2010
Soluzione
SharePoint Server 2010 utilizza il servizio web PPSAuthoringService invece di PmService. Se non avete ancora visto, controlla questo post sul blog del team di PerformancePoint Servizi: http://blogs.msdn.com/b/performancepoint/archive/2010/09/13/using-the-ppsauthoringservice-web-service.aspx
richiesta del report OLAP è memorizzato nella proprietà ReportView.CustomData. Qualcosa del genere dovrebbe funzionare (anche se questo esempio chiama il servizio web da API). Attenzione -. Io un programmatore amatoriale
2/4/11 - Invece di interrogare CustomData puntello del report come illustrato di seguito, si può semplicemente passare il percorso relazione al metodo di GetMdx.
static void Main(string[] args)
{
string pathToAuthoringService = "http://<serverName>/_vti_bin/PPS/PPSAuthoringService.asmx";
IBIMonitoringAuthoring service = BIMonitoringAuthoringServiceProxy.CreateInstance(pathToAuthoringService);
string listUrl = "/BICenter/Lists/PerformancePoint Content/";
FirstClassElementCollection fcos = service.GetListItems(listUrl);
Dashboard dashboard = new Dashboard();
foreach (FirstClassElement fco in fcos)
{
if (fco.ContentType == FCOContentType.PpsDashboard && fco.Name.Text == "Contoso Sales Management")
{
dashboard = fco as Dashboard;
}
}
// Or if you know the ItemUrl, you can retrieve the dashboard directly.
//RepositoryLocation dashboardLocation = new RepositoryLocation("/BICenter/Lists/PerformancePoint Content/32._000");
//Dashboard dashboard = service.GetDashboard(dashboardLocation);
List<RepositoryLocation> childLocations = dashboard.GetChildFCOLocations();
foreach (RepositoryLocation location in childLocations)
{
if (location.ItemType == FirstClassObjectType.ReportView)
{
ReportView report = service.GetReportView(location);
if (report.IsAnalyticReport())
{
Console.WriteLine(report.CustomData);
}
}
}
}
Altri suggerimenti
Si potrebbe aprire l'applicazione PPS progettista e si poteva vedere i nomi dei grafici utilizzati sul cruscotto e dalla relazione è possibile passare alla modalità di progettazione per vedere il MDX.
In caso contrario, è anche possibile eseguire SQL Profiler per tracciare le query inviate dai PPS ad Analysis Services. Bisogna essere consapevoli che PPS fa un sacco di caching, penso che è di 10-20 minuti per impostazione predefinita, quindi se si dimentica che prima query potrebbe essere necessario aspettare un po 'prima che la query viene inviata di nuovo.