blob: acf1aa15e772f7f5602cb130750fa4b6a6c63b00 [file] [log] [blame]
import ns org.eclipse.osbp.authentication.account.entities.UserAccount
import ns ${{BASIC_PROJECT_NAME}}.model.authorizations.Logistics
import ns ${{BASIC_PROJECT_NAME}}.model.authorizations.Sales
import ns ${{BASIC_PROJECT_NAME}}.model.cubes.HR
import ns ${{BASIC_PROJECT_NAME}}.model.cubes.Sales
import ns ${{BASIC_PROJECT_NAME}}.model.cubes.Store
import ns ${{BASIC_PROJECT_NAME}}.model.cubes.Warehouse
import ns ${{BASIC_PROJECT_NAME}}.model.entities.Currency
import ns ${{BASIC_PROJECT_NAME}}.model.entities.CurrencyDay
import ns ${{BASIC_PROJECT_NAME}}.model.entities.CurrencyNames
import ns ${{BASIC_PROJECT_NAME}}.model.entities.EDIOrderCustomer
import ns ${{BASIC_PROJECT_NAME}}.model.entities.EDIOrderHeader
import ns ${{BASIC_PROJECT_NAME}}.model.entities.EDIOrderItem
import ns ${{BASIC_PROJECT_NAME}}.model.entities.EDIOrders
import ns ${{BASIC_PROJECT_NAME}}.model.entities.Employee
import ns ${{BASIC_PROJECT_NAME}}.model.entities.Position
import ns ${{BASIC_PROJECT_NAME}}.model.entities.Product
import ns ${{BASIC_PROJECT_NAME}}.model.entities.ProductClass
import ns ${{BASIC_PROJECT_NAME}}.model.entities.Region
import ns ${{BASIC_PROJECT_NAME}}.model.entities.SalesFact
import ns ${{BASIC_PROJECT_NAME}}.model.entities.Store
import ns ${{BASIC_PROJECT_NAME}}.model.entities.Supplier
/******************************************************************
* *
* Copyright (C) - Loetz GmbH&Co.KG, 69115 Heidelberg, Germany
* *
* This source was created by OSBP Softwarefactory Wizard! *
* *
* OSBP is (C) - Loetz GmbH&Co.KG, 69115 Heidelberg, Germany *
* *
*================================================================*
* *
* @file $HeadURL$
* @version $Revision$
* @date $Date$
* @author $Author$
* *
******************************************************************/
package ${{MODEL_PROJECT_PACKAGE_NAME}} {
datamart ProductSales description "Sales on products" using
cube Sales nonempty {
axis columns {
measure StoreSales
measure StoreCost
}
axis rows {
hierarchy TheTime level Year filtered detailed
}
slicer hierarchy Product level ProductSubcategory filtered
}
datamart Products description "My products" using
entity Product {
navigation {
many2one join productClass to entity ProductClass {
attributes {
attribute productSubcategory axis rows
}
conditions {
condition attribute productDepartment = selected
}
}
}
attributes {
attribute brandName axis columns
attribute productName axis columns
// attribute sku axis columns
attribute srp axis columns
attribute grossWeight axis columns
attribute netWeight axis columns
attribute recyclablePackage axis columns
attribute lowFat axis columns
attribute unitsPerCase axis columns
attribute casesPerPallet axis columns
attribute shelfWidth axis columns
attribute shelfHeight axis columns
attribute shelfDepth axis columns
}
}
datamart Employees description "All employees" using
entity Employee {
attributes {
attribute firstName axis columns
attribute lastName axis columns
attribute profileImage axis columns
}
conditions {
condition
attribute gender
=
filtered
condition
attribute managementRole
=
filtered
}
ordering {
order firstName ascending
}
}
/** datamart to show all relevant information about employee salary */
datamart EmployeeSalary using
entity Employee {
navigation {
many2one join position to entity Position {
attributes {
/** which position the employee has */
attribute positionTitle axis columns
attribute maxScale axis columns
attribute minScale axis columns
}
conditions {
condition
attribute payType
=
filtered
}
}
}
attributes {
/** the employees full name */
attribute fullName axis columns
/** the date the employee was hired */
attribute hireDate axis columns
/** flag for male/female */
attribute gender axis columns
/** is the employee married */
attribute maritalStatus axis columns
/** the actual salary */
attribute salary axis columns
/** the education level the employee has reached */
attribute educationLevel axis columns
}
conditions {
condition
attribute educationLevel
=
filtered optional
}
}
datamart SalesByDistrict description "entity based aggregation of store sales and store cost" using
entity Region {
navigation {
one2many join stores to entity Store {
navigation {
one2many join sales to entity SalesFact {
attributes {
attribute storeSales axis columns aggregate summation
attribute storeCost axis columns aggregate summation
}
}
}
}
}
attributes {
attribute salesRegion axis rows
attribute salesDistrict axis rows
}
conditions {
condition
attribute salesCountry
=
selected
}
}
datamart TopProductsByPromotionMediaShare description "top products by sales over promotion media type" using
cube Sales {
derive MediaTotal from
hierarchy PromotionMedia condensed
over
measure UnitSales
derive MediaPerc from
measure UnitSales
/
derived MediaTotal
*
100
axis columns {
hierarchy PromotionMedia level MediaType detailed orderBy
derived MediaPerc
descending
derived MediaPerc
}
axis rows {
topcount(15) of
hierarchy Product level ProductCategory
over
measure StoreSales
}
slicer
hierarchy StoreType level StoreType selected
slicer
hierarchy TheTime level Year selected
}
datamart SalesByState description "cube based profit review" using
cube Sales nonempty {
derive GrossProfitPerPiece from(measure StoreSales
-
measure StoreCost) /
measure SalesCount
axis columns {
measure StoreSales scale group1
measure StoreCost scale group1
derived GrossProfitPerPiece scale group2
}
axis rows {
hierarchy TheTime level Month detailed
}
}
datamart StoreSizes using
cube Store {
axis columns {
measure StoreSqft
measure GrocerySqft
}
axis rows {
hierarchy Store level StoreCountry filtered detailed
}
axis pages {
hierarchy StoreType level StoreType detailed
}
}
datamart HRExpenses description "Average salary by management role" using
cube HR {
derive AvgSalary from
measure OrgSalary
/
measure NumberOfEmployees
axis columns {
measure NumberOfEmployees
measure OrgSalary
derived AvgSalary
}
axis rows {
hierarchy Position level PositionTitle
}
slicer
hierarchy StoreTypeJoinEmployee level StoreType filtered
}
datamart WarehouseShipping description "Goods shipped from warehouse" using
cube Warehouse {
axis columns {
measure UnitsShipped
}
axis rows {
hierarchy TheTime level Quarter filtered
}
slicer
hierarchy Warehouse level StateProvince selected
}
datamart WarehouseFinance description "Warehouse financial data per product family" using
cube Warehouse nonempty {
axis columns {
measure StoreInvoice
measure WarehouseSales
measure WarehouseCost
}
axis rows {
hierarchy Product level ProductCategory filtered
}
slicer
hierarchy TheTime level Quarter filtered
}
datamart Warehouse description "Warehouse data per time" using
cube Warehouse nonempty {
axis columns {
measure StoreInvoice
measure WarehouseSales
measure WarehouseCost
}
axis rows {
hierarchy TheTime level Year filtered detailed
}
slicer
hierarchy Product level ProductCategory filtered
}
datamart SalesByYear description "Sales over time" using
cube Sales {
derive PrevPeriod from
lag(1) of
hierarchy TheTime
over
measure StoreSales
derive PrevIncrease from((measure StoreSales
-
derived PrevPeriod) /
measure StoreSales) *
100
axis columns {
hierarchy TheTime level Year filtered detailed
measure StoreSales
derived PrevIncrease
}
axis rows {
hierarchy Store level StoreState filtered detailed
}
}
datamart PositionUsers description "Users assigned to a position" using
entity Position {
navigation {
one2many join employees to entity Employee {
navigation {
many2one join store to
entity Store {
attributes {
attribute storeName axis rows
}
conditions {
condition
attribute storeName
=
filtered optional
}
}
}
attributes {
attribute fullName axis rows
attribute birthDate axis columns
attribute educationLevel axis columns
attribute gender axis columns
attribute maritalStatus axis columns
}
}
}
attributes {
attribute positionTitle axis columns
}
conditions {
condition
attribute positionTitle
=
filtered optional
}
}
datamart PositionStat description "Position Statistics" using
cube HR nonempty {
axis columns {
measure OrgSalary
}
axis rows {
hierarchy TimeTheDate level Year
}
slicer
hierarchy Position level PositionTitle filtered
}
datamart TreemapSales description "Sales per product" using
cube Sales nonempty {
axis columns {
measure StoreSales
measure SalesCount
}
axis rows {
hierarchy Product level ProductCategory
}
}
datamart TreemapProducts description "Product hierarchy" using
cube Sales nonempty {
axis columns {
measure SalesCount
}
axis rows {
hierarchy Product level ProductName
}
}
datamart TaskInfo description "user tasks" using
task PotentialOwner columns {
column TaskId
column ProcessId
column Priority
column ActualOwner
column Name
column Subject
column Status
column CreatedOn
}
datamart TaskDetails description "Task details" using
task PotentialOwner columns {
column TaskId
column Description
}
conditions {
condition
column TaskId
=
filtered
}
datamart SupplierData description "Supplier master data"using
entity Supplier tracking {
attributes {
attribute company axis columns
attribute headquarterCity axis columns
attribute headquarterZipcode axis columns
attribute gln axis columns
attribute lastOrder axis columns
attribute locked axis columns
attribute phone axis columns
attribute priority axis columns
attribute yearlyTurnover axis columns
attribute headquarterHousenumber axis columns
attribute headquarterStreetname axis columns
attribute firstContract axis columns
attribute rating axis columns
}
}
datamart UserAccount using
entity UserAccount {
attributes {
attribute email axis columns
attribute position axis columns
attribute userName axis columns
attribute profileimage axis columns
}
}
datamart EDIOrders using
entity EDIOrders {
attributes {
attribute importDate axis columns
attribute latest axis columns
}
}
datamart EDIOrderHeader using
entity EDIOrderHeader {
attributes {
attribute orderId axis columns
attribute hdrDate axis columns
attribute netAmount axis columns
attribute totalAmount axis columns
attribute statusCode axis columns
attribute taxAmount axis columns
}
}
datamart EDIOrderCustomer using
entity EDIOrderCustomer {
attributes {
attribute userName axis columns
attribute firstName axis columns
attribute lastName axis columns
attribute country axis columns
}
}
datamart EDIOrderItem using
entity EDIOrderItem {
attributes {
attribute position axis columns
attribute title axis columns
attribute price axis columns
attribute quantity axis columns
attribute sku axis columns
}
}
datamart Currencies using entity Currency {
navigation {
many2one join currencyName to entity CurrencyNames {
attributes {
attribute countries axis columns columnWeight 900
attribute isoCode axis columns columnWeight 700
attribute name axis columns columnWeight 600
}
conditions {
condition attribute countries = filtered optional
}
ordering {
order countries ascending
}
}
many2one join currencyDay to entity CurrencyDay {
attributes {
attribute ratingDate axis columns columnWeight 500
}
conditions {
condition attribute ratingDate = ranged
}
ordering {
order ratingDate descending
}
}
}
attributes {
attribute currencyDate axis columns columnWeight 450
attribute conversionRatio axis columns columnWeight 400
}
ordering {
order currencyDate descending
}
}
datamart ProductClass using
entity ProductClass {
attributes {
attribute productSubcategory axis columns
attribute productCategory axis columns
attribute productDepartment axis columns
attribute productFamily axis columns
}
}
}