Hi Hans,
it is great to see some interest in this area of the project!
I had not time to review this (but I will do for sure) but one think that is
missing here are the entries for the new entities in the entitygroup_olap.xml
file:
<entity-group group="org.ofbiz.olap" entity="SalesInvoiceItemFact"/>
etc...
I guess that you have just forgotten to commit that file.
Cheers,
Jacopo
On Nov 22, 2009, at 5:37 AM, [email protected] wrote:
> Author: hansbak
> Date: Sun Nov 22 04:37:27 2009
> New Revision: 883034
>
> URL: http://svn.apache.org/viewvc?rev=883034&view=rev
> Log:
> A first proposal open for comments of the order OLAP entities. secas and
> initial load are on the way and implemeted following the same pattern as
> Jacopo's accounting entities
>
> Added:
> ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml (with
> props)
> Modified:
> ofbiz/trunk/applications/order/ofbiz-component.xml
>
> Added: ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml?rev=883034&view=auto
> ==============================================================================
> --- ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml (added)
> +++ ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml Sun Nov 22
> 04:37:27 2009
> @@ -0,0 +1,203 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +Licensed to the Apache Software Foundation (ASF) under one
> +or more contributor license agreements. See the NOTICE file
> +distributed with this work for additional information
> +regarding copyright ownership. The ASF licenses this file
> +to you under the Apache License, Version 2.0 (the
> +"License"); you may not use this file except in compliance
> +with the License. You may obtain a copy of the License at
> +
> +http://www.apache.org/licenses/LICENSE-2.0
> +
> +Unless required by applicable law or agreed to in writing,
> +software distributed under the License is distributed on an
> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +KIND, either express or implied. See the License for the
> +specific language governing permissions and limitations
> +under the License.
> +-->
> +
> +<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +
> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
> + <!-- ========================================================= -->
> + <!-- ======================== Defaults ======================= -->
> + <!-- ========================================================= -->
> + <title>OLAP entities for the Order component</title>
> + <description>None</description>
> + <copyright>Copyright 2001-2007 The Apache Software Foundation</copyright>
> +
> + <!-- ========================================================= -->
> + <!-- Facts -->
> + <!-- ========================================================= -->
> + <entity entity-name="SalesOrderItemFact"
> package-name="org.ofbiz.bi.fact.order" title="Sales Order Item Fact">
> + <description>A transaction fact entity with order item
> grain.</description>
> + <field name="orderId" type="id-ne"></field> <!-- degenerate
> dimension -->
> + <field name="orderItemSeqId" type="id-ne"></field> <!-- degenerate
> dimension -->
> + <field name="orderDateDimId" type="id-ne"></field>
> + <field name="productDimId" type="id-ne"></field>
> + <field name="origCurrencyDimId" type="id-ne"></field>
> + <field name="billToCustomerDimId" type="id-ne"></field> <!-- TODO:
> implement the dimension -->
> +
> + <field name="quantity" type="fixed-point">
> + <description>Quantity order. From
> OrderItem.quantity</description>
> + </field>
> +
> + <field name="extGrossAmount" type="currency-precise">
> + <description>Extended gross amount: quantity item multiplied by
> the unit price.</description>
> + </field>
> + <field name="extDiscountAmount" type="currency-precise">
> + <description>Extended discount amount.</description>
> + </field>
> + <field name="extNetAmount" type="currency-precise">
> + <description>Extended net amount: gross amount less
> discounts.</description>
> + </field>
> + <field name="extShippingAmount" type="currency-precise">
> + <description>Extended shipping amount.</description>
> + </field>
> + <field name="extTaxAmount" type="currency-precise">
> + <description>Extended tax amount.</description>
> + </field>
> +
> + <field name="GrossSales" type="currency-precise">
> + <description>Gross Sales</description>
> + </field>
> + <field name="GrossMerchandizeSales" type="currency-precise">
> + <description>Gross Merchandize Sales</description>
> + </field>
> + <field name="GrossMerchandizeProfit" type="currency-precise">
> + <description>Gross Merchandize Profit</description>
> + </field>
> + <field name="GrossShippingProfit" type="currency-precise">
> + <description>Gross Shipping Profit</description>
> + </field>
> + <field name="GrossProfit" type="currency-precise">
> + <description>Gross Profit</description>
> + </field>
> + <field name="AverageMerchandizeProfit" type="currency-precise">
> + <description>Average Merchandize Profit</description>
> + </field>
> + <field name="AverageGrossProfit" type="currency-precise">
> + <description>Average Gross Profit</description>
> + </field>
> +
> + <!--<field name="extGrossAmount" type="currency-precise">
> + <description>Extended gross amount: quantity invoiced multiplied
> by the list unit price.</description>
> + </field>
> + <field name="extDiscountAmount" type="currency-precise">
> + <description>Extended discount amount.</description>
> + </field>
> + <field name="extNetAmount" type="currency-precise">
> + <description>Extended net amount: gross amount less
> discounts.</description>
> + </field>
> + <field name="extShippingAmount" type="currency-precise">
> + <description>Extended shipping amount.</description>
> + </field>
> + <field name="extTaxAmount" type="currency-precise">
> + <description>Extended tax amount.</description>
> + </field>
> + <field name="extManFixedCost" type="currency-precise">
> + <description>Extended manufacturing fixed cost.</description>
> + </field>
> + <field name="extManVarCost" type="currency-precise">
> + <description>Extended manufacturing variable cost.</description>
> + </field>
> + <field name="extStorageCost" type="currency-precise">
> + <description>Extended storage cost.</description>
> + </field>
> + <field name="extDistributionCost" type="currency-precise">
> + <description>Extended distribution cost.</description>
> + </field>
> + <field name="contributionAmount" type="currency-precise">
> + <description>Extended net amount less all the
> costs.</description>
> + </field>-->
> + <!--
> + TODO: implement multi-currency fields
> + <field name="extGrossAmountOrig" type="currency-precise">
> + <description>Extended gross amount in the original currency:
> quantity invoiced multiplied by the list unit price.</description>
> + </field>
> + <field name="extDiscountAmountOrig" type="currency-precise">
> + <description>Extended discount amount in the original
> currency.</description>
> + </field>
> + <field name="extNetAmountOrig" type="currency-precise">
> + <description>Extended net amount in the original currency: gross
> amount less discounts.</description>
> + </field>
> + <field name="extManFixedCostOrig" type="currency-precise">
> + <description>Extended manufacturing fixed cost in the original
> currency.</description>
> + </field>
> + <field name="extManVarCostOrig" type="currency-precise">
> + <description>Extended manufacturing variable cost in the
> original currency.</description>
> + </field>
> + <field name="extStorageCostOrig" type="currency-precise">
> + <description>Extended storage cost in the original
> currency.</description>
> + </field>
> + <field name="extDistributionCostOrig" type="currency-precise">
> + <description>Extended distribution cost in the original
> currency.</description>
> + </field>
> + <field name="contributionAmountOrig" type="currency-precise">
> + <description>Extended net amount less all the costs in the
> original currency.</description>
> + </field>
> + -->
> +
> + <prim-key field="orderId"/>
> + <prim-key field="orderItemSeqId"/>
> +
> + <relation type="one" fk-name="SIIF_INVDATE"
> rel-entity-name="DateDimension">
> + <key-map field-name="invoiceDateDimId"
> rel-field-name="dimensionId"/>
> + </relation>
> + <relation type="one" fk-name="SIIF_CURRENCY"
> rel-entity-name="CurrencyDimension">
> + <key-map field-name="origCurrencyDimId"
> rel-field-name="dimensionId"/>
> + </relation>
> + <relation type="one" fk-name="SIIF_PRODUCT"
> rel-entity-name="ProductDimension">
> + <key-map field-name="productDimId" rel-field-name="dimensionId"/>
> + </relation>
> +
> + </entity>
> +
> + <!-- ========================================================= -->
> + <!-- Star Schemas -->
> + <!-- ========================================================= -->
> + <view-entity entity-name="SalesOrderItemStarSchema"
> package-name="org.ofbiz.bi.starschema.order" title="Sales Order Item Star
> Schema">
> + <description>Order Item star schema (Profit and Loss
> Statement).</description>
> +
> + <member-entity entity-alias="SIIF" entity-name="SalesOrderItemFact"/>
> + <member-entity entity-alias="IDD" entity-name="DateDimension"/>
> + <member-entity entity-alias="PD" entity-name="ProductDimension"/>
> + <member-entity entity-alias="CD" entity-name="CurrencyDimension"/>
> +
> + <alias-all entity-alias="IDD" prefix="orderDate" group-by="true">
> + <exclude field="dimensionId"/>
> + </alias-all>
> + <alias-all entity-alias="PD" prefix="product" group-by="true">
> + <exclude field="dimensionId"/>
> + </alias-all>
> + <alias-all entity-alias="CD" prefix="currency" group-by="true">
> + <exclude field="dimensionId"/>
> + </alias-all>
> + <alias-all entity-alias="SIIF" function="sum">
> + <exclude field="orderItemSeqId"/>
> + <exclude field="orderDateDimId"/>
> + <exclude field="productDimId"/>
> + <exclude field="billToCustomerDimId"/>
> + <exclude field="origCurrencyDimId"/>
> + <exclude field="orderId"/>
> + <exclude field="orderItemSeqId"/>
> + </alias-all>
> + <alias entity-alias="SIIF" name="orderId" group-by="true">
> + <description>Order id</description>
> + </alias>
> + <alias entity-alias="SIIF" name="orderItemSeqId" group-by="true"/>
> +
> + <view-link entity-alias="SIIF" rel-entity-alias="IDD">
> + <key-map field-name="orderDateDimId"
> rel-field-name="dimensionId"/>
> + </view-link>
> + <view-link entity-alias="SIIF" rel-entity-alias="PD">
> + <key-map field-name="productDimId" rel-field-name="dimensionId"/>
> + </view-link>
> + <view-link entity-alias="SIIF" rel-entity-alias="CD">
> + <key-map field-name="origCurrencyDimId"
> rel-field-name="dimensionId"/>
> + </view-link>
> +
> + </view-entity>
> +
> +</entitymodel>
>
> Propchange: ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml
> ------------------------------------------------------------------------------
> svn:keywords = "Date Rev Author URL Id"
>
> Propchange: ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml
> ------------------------------------------------------------------------------
> svn:mime-type = text/xml
>
> Modified: ofbiz/trunk/applications/order/ofbiz-component.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/ofbiz-component.xml?rev=883034&r1=883033&r2=883034&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/order/ofbiz-component.xml (original)
> +++ ofbiz/trunk/applications/order/ofbiz-component.xml Sun Nov 22 04:37:27
> 2009
> @@ -28,6 +28,7 @@
> <entity-resource type="model" reader-name="main" loader="main"
> location="entitydef/entitymodel.xml"/>
> <entity-resource type="model" reader-name="main" loader="main"
> location="entitydef/entitymodel_old.xml"/>
> <entity-resource type="model" reader-name="main" loader="main"
> location="entitydef/entitymodel_view.xml"/>
> + <entity-resource type="model" reader-name="main" loader="main"
> location="entitydef/entitymodel_olap.xml"/>
> <entity-resource type="eca" reader-name="main" loader="main"
> location="entitydef/eecas.xml"/>
> <entity-resource type="data" reader-name="seed" loader="main"
> location="data/OrderTypeData.xml"/>
> <entity-resource type="data" reader-name="seed" loader="main"
> location="data/OrderPortletData.xml"/>
>
>