Business Intelligence measures
Operating mode
Cloud Suite
|ON-PREMISES
Modules
Services & CRM
Budget & Phases
Purchases
Resource Planning
Business Intelligence
The different types of KPI's available in the Business Intelligence module are called BI measures:
The measures are configured in the folder Settings > Business Intelligence > BI measures. Each measure has the following properties:
Designation |
The designation is shown in the BI view and should therefore be as clear and meaningful as possible so that it is clear what is shown. It is an Mlstring field. |
Active |
Only active measures are pre-saved, so if you never need a standard measure, you can deactivate it. If, on the other hand, you want to calculate a measure but not show it (for example, because you only need it for a calculation – see Derived measure below – but not for display), deactivate the Visible checkbox below instead. |
Internal name |
The internal name must be unique because the measure is identified by the generator via this name. |
Colour |
For each measure, a color can be saved. In the Bi view, this color is then always shown for this measure. This makes recognition easier. All measures supplied by default have already been assigned a color. The default list of measures has also been redesigned and shows the colors: ![]() When shown in the BI, measures that do not have a predefined color are randomly assigned one of the colors not yet used in the current view. |
Derived measure |
If a measure is marked as derived, the calculation is done not by the generator, but by other measures. In this case, instead of the generator field, there is a field for the calculation: ![]() Here the calculation is defined by the internal name of the corresponding measures. In addition to division, addition (+) and subtraction (-) can be used to calculate measures. Only simple operations (calculation with only one operation) are allowed. As of Vertec 6.8, it is possible to cumulate values and thus form running totals. You can do this with the new ![]() The dimensions (see below) result from the underlying measures and cannot be specified separately here. |
Generator |
The calculation of the measures is done by generators, unless it is a calculated measure (see above). |
Unit |
The following units are available: ![]()
|
Visible |
Controls whether a measure can be shown in the BI view. This is especially useful if you need a measure to calculate another measure (see Calculated measure above) but do not want to show it yourself. You can also deactivate standard measures that you do not need at all (see checkbox Active above). |
Key date value |
Measures marked as key date value are shown in views for a single month or in time series and show the value per end of the month (of this month). If the running total is to be shown instead, a derived measure can be created and the measure can be cumulated. |
DimensionsClasses 1 – 5, |
Specifies on which classes (dimensions) the measures are available. These must be calculated in the specified generator. In addition, a role label can be specified for each dimension. The role label can be used to specify the context of the measure for that dimension. For example, when calculating the incoming order, the project leader of the project is also returned. If we now see the “incoming order” on a list of editors, then the context is not clear: Is this the salesperson, are these his own services? Here, for example, the Role can be specified: ![]() The Role is then shown next to the measure in the BI view: ![]() |
Help text |
Here a help text can be entered, for example to explain to the user how the measure is calculated. This is shown as a tooltip in the Display of measures: ![]() The ad is truncated after 19 rows. Care must be taken to ensure that the text fits into the ad. This is an Mlstring field. |
With the menu item Import measure from Generator, BI measures can be automatically populated from a Bi generator. The following dialog opens:
Script |
Here the script containing the generator is selected. The generator must be registered in Vertec. |
Generator |
If it has several generators in the script, the desired generator can be selected here. |
BI measure |
Here, the measure defined in the generator to be imported is selected. |
The dialog shows only measures that are not yet in the system, or only generators that contain such measures.
With one click on OK
the key measure is imported, including Dimensions and Role.
For this to work, the generator must be of the type BIGenerator
be, see article about Bi generators.
Vertec provides the following key measures by default (the code parts are equivalent):
Designation / Int. Name | Significance | Available on (Dimension) |
---|---|---|
Work commenced
|
External fee for the services of productive projects, which are not on an invoice at the end of the month or whose invoice was charged later.
if not leistsum.rechnung or leistsum.rechnung.valutadatum > enddate: leistsum.wertExtOffen + leistsum.wertExtVerrechnet |
|
Working hours
|
Working hours ->getArbeitszeit(Startdatum, Enddatum) |
|
Order backlog Fee
|
Budget Fees – Cumulative fee externally. Only awarded and not yet completed phases. bdgvalue('planWertExt', Enddatum, -1) - leistSum.wertExtOffen + leistSum.wertExtVerrechnet |
|
Incoming orders Fee
|
Budget Fee of newly awarded phases or changes of this budget value during that month. bdgvalue('planWertExt', Enddatum, -1) - bdgvalue('planWertExt', (Startdatum-1 Tag), -1) |
|
Hours Budget Rest
|
Calculated Measure. Expense Hours Budget Total ( MinutesBudgetTotal - MinutesCumulatedPhases |
|
Hours Budget Total
|
Budget hours of granted and not yet completed phases. bdgvalue('planMinutenInt', Enddatum, -1) |
|
external hours
|
external hours leistsum.minutenExtOffen + leistsum.minutenExtVerrechnet |
|
internal hours
|
internal hours leistsum.minutenIntOffen + leistsum.minutenIntVerrechnet |
|
Hour Be
|
Cumulative internal hours of granted and not yet completed phases. leistSum.minutenIntOffen + leistSum.minutenIntVerrechnet |
|
Stock downpayments
|
Net amount of all downpayments – Advance paid on invoices cleared by the end of the month (value date). vorschuesse += vorschuesse.nettobetrag if rechnung.verrechnet and rechnung.valutadatum <= enddate: vorschuesse -= invoice.vorschussEffektiv |
|
Contribution margin (DB)
|
Fees charged externally – costs charged leistsum.wertExtVerrechnet - leistsum.wertKostenVerrechnet |
|
External fee per phaseFeesExtPhases |
External fee at the end of the month of awarded and not yet completed phases. if not ((phase.abgeschlossen and phase.abschlussdatum < startdate) or phase.erteiltdatum > enddate): leistSum.wertExtOffen + leistSum.wertExtVerrechnet |
|
vacation balance
|
Vacation balance at the end of the month ->getFerienSaldo(Enddatum) |
|
Vacation balance accrued
|
Deferred vacation balance at the end of the month ->getFerienSaldoAbgegrenzt(Enddatum) |
|
Degree of completion
|
Calculated Measure. Effort Hours Be ( MinutesCumulatedPhases / MinutesBudgetTotal |
|
HeadcountHeadcount |
Quantity of employees at this time (entry date before the end of the month, no exit date or exit date after the end of the month). The workload does not Role for this value. if not (enddate < user.eintrittper or (user.austrittper and startdate > user.austrittper)): headcount = 0 if user.austrittper and user.austrittper < enddate else 1 |
|
External fee
|
External fee leistsum.wertExtOffen + leistsum.wertExtVerrechnet |
|
Fee externally written off
|
Fee charged internally – Fee charged externally leistsum.wertIntVerrechnet - leistsum.wertExtVerrechnet |
|
Fee externally open
|
Fee externally open leistsum.wertExtOffen |
|
Fee charged externally
|
Fee charged externally leistsum.wertExtVerrechnet |
|
Internal fees
|
Internal fees leistsum.wertIntOffen + leistsum.wertIntVerrechnet |
|
Internal hours per phaseMinutesIntPhases |
Internal hours at the end of the month of granted and not yet completed phases. if not ((phase.abgeschlossen and phase.abschlussdatum < startdate) or phase.erteiltdatum > enddate): leistSum.minutenIntOffen + leistSum.minutenIntVerrechnet |
|
Costs
|
Costs leistsum.wertKostenOffen + leistsum.wertKostenVerrechnet |
|
Cumulative external feeFeesCumulated |
Calculated Measure, cumulative measure External fee ( sum(FeesExt) |
|
ProductivityProductivity |
Percentage of recorded hours on productive projects compared to total effort. Maximum value = 1. minutenInt = leistsum.minutenIntOffen + leistsum.minutenIntVerrechnet minutenIntUnprod = leistsum.minutenIntOffenUnprod + leistsum.minutenIntVerrechnetUnprod productivity = (minutenInt - minutenIntUnprod) / minutenInt |
|
standard hours
|
standard hours ->getSollzeit(Startdatum, Enddatum) |
|
Hourly rate chargeable
|
Calculated Measure. External fee ( FeesExt / MinutesInt |
|
Overtime balance
|
Overtime balance at the end of the month ->getUeberzeitsaldo(Enddatum) |
|
Turnover outlays
|
Outlays charged (value date of invoice) rechnung.auslagenExt |
Only available if module Purchases is licensed. |
Turnover services
|
Total charged after discount (value date of invoice) rechnung.leistWertExtNachRabatt |
|
Turnover expenses
|
Expenses charged (value date of invoice) rechnung.spesenExt |
|
Full-time equivalent
|
employment level ->getBeschaeftigungsgrad(Enddatum) |
|