PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.2.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.2.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 2 years ago ComputedMetricFactory.php 2 years ago Dimension.php 1 year ago DimensionMetricFactory.php 1 year ago DimensionSegmentFactory.php 1 year ago DimensionsProvider.php 2 years ago Discriminator.php 2 years ago Join.php 2 years ago MetricsList.php 1 year ago Updater.php 1 year ago
ComputedMetricFactory.php
48 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Columns;
10
11 use Piwik\Plugin\ArchivedMetric;
12 use Piwik\Plugin\ComputedMetric;
13 /**
14 * A factory to create computed metrics.
15 *
16 * @api since Piwik 3.2.0
17 */
18 class ComputedMetricFactory
19 {
20 /**
21 * @var MetricsList
22 */
23 private $metricsList = null;
24 /**
25 * Generates a new report metric factory.
26 * @param MetricsList $list A report list instance
27 * @ignore
28 */
29 public function __construct(\Piwik\Columns\MetricsList $list)
30 {
31 $this->metricsList = $list;
32 }
33 /**
34 * @return \Piwik\Plugin\ComputedMetric
35 */
36 public function createComputedMetric($metricName1, $metricName2, $aggregation)
37 {
38 $metric1 = $this->metricsList->getMetric($metricName1);
39 if (!$metric1 instanceof ArchivedMetric || !$metric1->getDimension()) {
40 throw new \Exception('Only possible to create computed metric for an archived metric with a dimension');
41 }
42 $dimension1 = $metric1->getDimension();
43 $metric = new ComputedMetric($metricName1, $metricName2, $aggregation);
44 $metric->setCategory($dimension1->getCategoryId());
45 return $metric;
46 }
47 }
48