| 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 |
| } |
| } |
| } |