PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.3.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.3.0
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 5 years ago ComputedMetricFactory.php 5 years ago Dimension.php 5 years ago DimensionMetricFactory.php 5 years ago DimensionSegmentFactory.php 5 years ago DimensionsProvider.php 5 years ago Discriminator.php 5 years ago Join.php 5 years ago MetricsList.php 5 years ago Updater.php 5 years ago
ComputedMetricFactory.php
55 lines
1 <?php
2 /**
3 * Matomo - 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\Plugin\ArchivedMetric;
12 use Piwik\Plugin\ComputedMetric;
13
14 /**
15 * A factory to create computed metrics.
16 *
17 * @api since Piwik 3.2.0
18 */
19 class ComputedMetricFactory
20 {
21 /**
22 * @var MetricsList
23 */
24 private $metricsList = null;
25
26 /**
27 * Generates a new report metric factory.
28 * @param MetricsList $list A report list instance
29 * @ignore
30 */
31 public function __construct(MetricsList $list)
32 {
33 $this->metricsList = $list;
34 }
35
36 /**
37 * @return \Piwik\Plugin\ComputedMetric
38 */
39 public function createComputedMetric($metricName1, $metricName2, $aggregation)
40 {
41 $metric1 = $this->metricsList->getMetric($metricName1);
42
43 if (!$metric1 instanceof ArchivedMetric || !$metric1->getDimension()) {
44 throw new \Exception('Only possible to create computed metric for an archived metric with a dimension');
45 }
46
47 $dimension1 = $metric1->getDimension();
48
49 $metric = new ComputedMetric($metricName1, $metricName2, $aggregation);
50 $metric->setCategory($dimension1->getCategoryId());
51
52 return $metric;
53 }
54
55 }