private void FindCompatibleFields(DfareportingService service,
                                          long profileId, Report report)
        {
            CompatibleFields fields =
                service.Reports.CompatibleFields.Query(report, profileId).Execute();

            ReportCompatibleFields reportFields = fields.ReportCompatibleFields;

            if (reportFields.Dimensions.Any())
            {
                // Add a compatible dimension to the report.
                Dimension       dimension       = reportFields.Dimensions[0];
                SortedDimension sortedDimension = new SortedDimension();
                sortedDimension.Name = dimension.Name;
                report.Criteria.Dimensions.Add(sortedDimension);
            }
            else if (reportFields.Metrics.Any())
            {
                // Add a compatible metric to the report.
                Metric metric = reportFields.Metrics[0];
                report.Criteria.MetricNames.Add(metric.Name);
            }

            Console.WriteLine(
                "\nUpdated report criteria (with compatible fields):\n{0}",
                JsonConvert.SerializeObject(report.Criteria));
        }
예제 #2
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="service">An initialized Dfa Reporting service object
        /// </param>
        public override void Run(DfareportingService service)
        {
            long reportId  = long.Parse(_T("ENTER_REPORT_ID_HERE"));
            long profileId = long.Parse(_T("INSERT_USER_PROFILE_ID_HERE"));

            // Retrieve the specified report.
            Report report = service.Reports.Get(profileId, reportId).Execute();

            // Look up the compatible fields for the report.
            CompatibleFields fields =
                service.Reports.CompatibleFields.Query(report, profileId).Execute();

            // Display the compatible fields, assuming this is a standard report.
            ReportCompatibleFields reportFields = fields.ReportCompatibleFields;

            Console.WriteLine("Compatible dimensions:\n");
            printDimensionNames(reportFields.Dimensions);

            Console.WriteLine("\nCompatible metrics:\n");
            printMetricNames(reportFields.Metrics);

            Console.WriteLine("\nCompatible dimension filters:\n");
            printDimensionNames(reportFields.DimensionFilters);

            Console.WriteLine("\nCompatible pivoted activity metrics:\n");
            printMetricNames(reportFields.PivotedActivityMetrics);
        }