0

新しいAPI/SDKを使用して、ラリーのストーリーポイントごとに累積フロー図を作成してみて、GitHubページRallyAnalyticsGitHubでサンプルコードを見つけました。

ですから、いくつかの作業の後、ある程度は機能していますが、これをさらに構成する方法についてのドキュメントがわからないか、見つけることができません。生成されているレポートは、fieldsToSumに追加しようとしたPlanEstimateではなく、カウントを行っているようです。その週のc_KanbanStateに一致したストーリーの数だけでなく、c_KanbanStateごとにPlanEstimateフィールドを合計するにはどうすればよいですか?以下のサンプルコードからGitHubの縮小コードを差し引いたもの。

     var userConfig = {
            title: 'Cumulative Flow Diagram',
            debug: false,
            trace: false,
            // asOf: "2012-11-01",  // Optional. Only supply if want a specific time frame. Do not send in new Date().toISOString().
            granularity: 'week',
            fieldsToSum: ['PlanEstimate'],
            scopeField: "Project",  // Supports Iteration, Release, Tags, Project, _ProjectHierarchy, _ItemHierarchy
            scopeValue: 'scope',
            scopeData: {
              StartDate: new Date("2012-12-01T07:00:00.000Z"),
              EndDate: new Date(new Date()),
              Name: ""
            },
            //fieldNames: ['count', 'PlanEstimate']

            kanbanStateField: 'c_KanbanState',
            chartSeries: [
              {name: 'To Do'},
              {name: 'Dev Ready'},
              {name: 'In Dev'},
              {name: 'Peer Review'},
              {name: 'QA Ready'},
              {name: 'QA Done'},
              {name: 'Accepted'}
            ]
        }
         (function() {

            var charts = {};
            var visualizer;
            var nameToDisplayNameMap;

            createVisualization = function(visualizationData) {

              if (typeof visualizationData !== "undefined" && visualizationData !== null) {
                categories = visualizationData.categories;
                series = visualizationData.series;
                charts.lowestValueInLastState = visualizationData.lowestValueInLastState;

                charts.chart = new Highcharts.Chart({
                  chart: {
                     renderTo: 'chart-container',
                     defaultSeriesType: 'column',
                     zoomType: 'x'
                  },
                  legend: {
                     enabled: true
                  },
                  credits: {
                     enabled: false
                  },
                  title: {
                     text: userConfig.title
                  },
                  subtitle: {
                     text: userConfig.scopeData.Name
                  },
                  xAxis: {
                     categories: categories,
                     tickmarkPlacement: 'on',
                     tickInterval: Math.floor(categories.length / 12) + 1,
                     title: {
                         text: userConfig.granularity.slice(0, 1).toUpperCase() + userConfig.granularity.slice(1) + 's'
                     }
                  },
                  yAxis: [
                     {
                         title: {
                             text: 'Total Points',
                         },
                         min: charts.lowestValueInLastState
                     }                    
                  ],
                  tooltip: {
                     formatter: function() {
                         point = this.point
                         s = point.series.name + ': <b>' + point.y + '</b><br \>';
                         if (point.x == point.series.data.length - 1) {
                             s += point.category.slice(0, point.category.length - 1) + ' to-date';
                         } else {
                             s += point.category;
                         }
                         return s;
                     }
                  },
                  plotOptions: {
                      series: {
                          events: {
                              legendItemClick: function(event) {
                                  if (this.chart.series.length == this.index + 1) {
                                      if (!this.visible) {
                                         this.chart.yAxis[0].setExtremes(charts.lowestValueInLastState);
                                      } else {
                                         this.chart.yAxis[0].setExtremes(0);
                                      };
                                  };
                                  return true;
                              }
                          }                          
                      }
                  },    

                  series: series
                });  // end of chart

              } else {
                // Put a spinner in the chart containers until first fetch returns
                $('#chart-container')
                  .html('<img height="20px" src="https://rally1.rallydev.com/slm/js-lib/ext/2.2/resources/images/default/grid/loading.gif"></img>')
                  .attr("style", "text-align:center");

              };   

            };   


            $(document).ready(function() {
              visualizer = new CFDVisualizer(charts, userConfig, createVisualization);
            });

        })();
4

1 に答える 1

0

最新バージョンには構成にfieldsToSumパラメーターがないため、少し古いバージョンを使用している可能性がありますが、CFDVisualizer.coffeeの数行を次のように変更することで、チャートをアップグレードしてPlanEstimateを合計できます。

@config.lumenizeCalculatorConfig.metrics = [
  {f: 'groupBySum', field: 'PlanEstimate', groupByField: @config.kanbanStateField, allowedValues: allowedValues}
]

から:

@config.lumenizeCalculatorConfig.metrics = [
  {f: 'groupByCount', groupByField: @config.kanbanStateField, allowedValues: allowedValues}
]

おそらく、cfd.htmlの軸ラベルも変更する必要があります。

これを実現するのが難しすぎる場合(CoffeeScriptに慣れていない可能性があります)、お知らせください。新しいバージョンをGitHubに投稿します。

于 2013-02-26T23:09:40.027 に答える