PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
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 month ago DimensionMetricFactory.php 1 year ago DimensionSegmentFactory.php 6 months ago DimensionsProvider.php 6 months ago Discriminator.php 2 years ago Join.php 2 years ago MetricsList.php 3 months ago Updater.php 3 months 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