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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top