PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Columns / ComputedMetricFactory.php
matomo / app / core / Columns Last commit date
Join 6 years ago ComputedMetricFactory.php 6 years ago Dimension.php 6 years ago DimensionMetricFactory.php 6 years ago DimensionsProvider.php 6 years ago Discriminator.php 6 years ago Join.php 6 years ago MetricsList.php 6 years ago Updater.php 6 years ago
ComputedMetricFactory.php
57 lines
1 <?php
2 /**
3 * Piwik - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9 namespace Piwik\Columns;
10
11 use Piwik\Piwik;
12 use Piwik\Plugin\ArchivedMetric;
13 use Piwik\Plugin\ComputedMetric;
14 use Piwik\Plugin\Report;
15
16 /**
17 * A factory to create computed metrics.
18 *
19 * @api since Piwik 3.2.0
20 */
21 class ComputedMetricFactory
22 {
23 /**
24 * @var MetricsList
25 */
26 private $metricsList = null;
27
28 /**
29 * Generates a new report metric factory.
30 * @param MetricsList $list A report list instance
31 * @ignore
32 */
33 public function __construct(MetricsList $list)
34 {
35 $this->metricsList = $list;
36 }
37
38 /**
39 * @return \Piwik\Plugin\ComputedMetric
40 */
41 public function createComputedMetric($metricName1, $metricName2, $aggregation)
42 {
43 $metric1 = $this->metricsList->getMetric($metricName1);
44
45 if (!$metric1 instanceof ArchivedMetric || !$metric1->getDimension()) {
46 throw new \Exception('Only possible to create computed metric for an archived metric with a dimension');
47 }
48
49 $dimension1 = $metric1->getDimension();
50
51 $metric = new ComputedMetric($metricName1, $metricName2, $aggregation);
52 $metric->setCategory($dimension1->getCategoryId());
53
54 return $metric;
55 }
56
57 }