Override Aggregation specification for a measure in AWM
Hello,
I have a created a cube using AWM (10.2.0.1). I have 2 measures in this cube. I want each one of the cube to have a different aggregation specification.
There is an option in AWM to override the aggregation specification while creating the measure, but this option is greyed out. Why is this disabled and what should I do to enable this option.
Thanks in advance for your help.
Regards,
Maruthi
Hello,
When I create the cube I left the 'Use Compression" option checked and that is the reason why I don't get to override the aggregation specification while creating the measures.
Regards,
Maruthi
Similar Messages
-
Different aggregation operator for two measures in single cube
Hi,
I have three measures age_month and age_year,pages for which aggregation operator should be like this
for age_month and age_year
time - max
account - sum
sales org - sum
for pages
time - sum
account - sum
sales org - sum
I am creating MOLAP cube in OWB and deploying to AWM. I can create above structure in OWB but when I deploy it to AWM I see that for all the dimensions and all the measures aggregation operator as sum. Off course I can change the aggregation operator at cube level but it make changes to all underlying measures too.
Also I can see in XML of the cube and see the operator for two measures is as max but UI shows as sum. After load also I am seeing in report it is calculating as sum instead of max along time dimension.
Any help would be highly appreciated.
Thanks
BrijeshIf you have an existing cube (already defined and aggregation setup) then modifying the aggregation behavior like changing order of dimensions/aggregation operators is not very robust (likely to fail due to inability of internal objects to sync up to modified defintion). Its always better to take a backup of cube definition and drop/rebuild a fresh cube with new dim order/agg operators.
How can you have a compressed cube and also set the aggregation property per dimension?
I was under the impression that if it is a compressed cube, then not only is there a restriction that all measures have same aggregation properties (defined at cube level) but also the aggregation behavior defined at cube level should use the same operator (note: any one operator out of sum or max or min) for all dimensions.
Edited by: Shankar S. on Dec 19, 2008 11:54 AM
Perhaps this additional restriction is only required if we intend to use the Cube as a source for relational queries using Cube organized MVs.
Another way to do this is given below:
I'm assuming that when you say that you require Max along Time and Sum along other dimensions, you mean that you want LAST (chronological) along time at leaf level and SUM along other dimension. Also assuming that Time hierarchy has the following levels: DAY, MONTH, QUARTER, YEAR. Big assumption :) as finding out Max along time requires the help of the fact/measure whereas finding out last along time requires us to use the dimension (along with dimension metadata) alone.
Define 1 Cube: Cube1 ... Structure: Compressed Composite, datatype: DECIMAL
Set Aggregation: SUM along all dimensions
Create 3 stored measures ( age_m_sto, age_y_sto and pages)
You may want to set description for age_m_sto/age_y_sto as "******** INTERNAL: DO NOT USE ******** Stored Measure used for age_month/age_year"
Create 2 calculated measures - age_month and age_year defined as follows ...
olap expresssion to be given in AWM:
<age_month>: OLAP_DML_EXPRESSION('cube1_age_m_sto(time if time_levelrel eq ''DAY'' then time else statlast(limit(time to bottomdescendants using time_parentrel time(time time))))', DECIMAL)
<age_year>: OLAP_DML_EXPRESSION('cube1_age_y_sto(time if time_levelrel eq ''DAY'' then time else statlast(limit(time to bottomdescendants using time_parentrel time(time time))))', DECIMAL)
NOTE: The caculated measure performs the LAST along time action using the stored measure. For every higher level time dimension member, it reaches along the dimension to the last leaf level member and reads the stored measure for that lowest level time member.
Map and Maintain Cube.
From the SQL Cube View: Use only the columns corresponding to stored measure: pages and calculated measures: age_month, age_pages (ignore columns corresponding to age_m_sto, age_y_sto)
HTH
Shankar -
Different aggregation operators for the measures in a compressed cube
I am using OWB 10gR2 to create a cube and its dimensions (deployed into a 10gR2 database). Since the cube has 11 dimensions I set all dimensions to sparse and the cube to compressed. The cube has 4 measures, two of them have SUM as aggregation operator for the TIME dimensions the other two should have AVERAGE (or FIRST). I have SUM for all other dimensions.
After loading data into the cube for the first time I realized that the aggregation for the TIME dimension was not always (although sometimes) correct. It was really strange because either the aggregated values were correct (for SUM and for AVERAGE) or seemed to be "near" the correct result (like average of 145.279 and 145.281 is 145.282 instead of 145.280 or 122+44+16=180 instead of 182). For all other dimensions the aggregation was OK.
Now I have the following questions:
1. Is it possible to have different aggregations for different measures in the same COMPRESSED cube?
2. Is it possible to have the AVERAGE or FIRST aggregation operator for measures in a COMPRESSED cube?
For a 10gR1 database the answer would be NO, but for a 10gR2 database I do not know. I could not find the answer, neither in the Oracle documentation nor somewhere else.What I found in Oracle presentation is that in 10GR2 compressed cube enhancements support all aggregation methods except weighted methods (first, last, minimum, maximum and so on). It is from September 2005 so maybe something changed since then.
Regarding your question about the results I think it is caused by the fact that calculation are made on doubles and then there is a compression, so maybe precsion is lost a little bit :(. I really am curious whether it is because of numeric (precision loss) issues. -
AWM Set Aggregation Operator based on Measure instead of Dimension?
Is there anyway to base an operator of a measure over a dimension on the measure instead of the dimension? In AWM, I notice that each Measure has an Aggregation tab that summarizes its operator over each dimension, but it is greyed out. The way I'd like it to work is to have one Measure be summed over the Dimensions, while another Measure is averaged over the Dimensions.
Found my answer: Not only do I need to make sure my cube is not compressed, but I also need to select "Override the Aggregation specification of the cube" under each Measure's General tab. This results in the contents of the Aggregation tab no longer being grayed out.
-
Error only when trying to override Aggregation Specfification of Cube
I am trying to override the aggregation specification of the cube and am getting the following error:
INI: error creating a definition manager, Generic at TxsOqConnection::generic<BuildProcess>INI: XOQ-01600: OLAP DML error "ORA-35576: SQL cursor 'C1' is not open." while executing DML "SYS.AWXML!R11_LOAD_MEASURES('EQUITY_SECOND_BARS.CUBE' SYS.AWXML!___R11_LONG_ARG_VALUE(SYS.AWXML!___R11_LONG_ARG_DIM 1) SYS.AWXML!___R11_LONG_ARG_VALUE(SYS.AWXML!___R11_LONG_ARG_DIM 2) SYS.AWXML!___R11_LONG_ARG_VALUE(SYS.AWXML!___R11_LONG_ARG_DIM 3) 'NO')", Generic at TxsOqStdFormCommand::execute
If I do not override the cube specification, everything works fine. I am using Oracle 11.2.0.1.0 on 64-bit windows.
ThankDefinitely seems to be some sort of weird bug.
I have two dimensions, time (hours, minutes, seconds) and date which is identical to this: http://oracleolap.blogspot.com/2011/01/script-for-time-dimension-table.html
If I set my cube to SUM and use Max or Min on a measure with any dimension things process just fine. If I use first non na value on my time dimension. Things work fine. If I use first non na value on my date dimension. I get this error. So there is an issue with date dimensions when using the first non na aggregator in an environment where one is override the cubes default aggregation method.
Here is the SQL where it is failing.
SELECT /*+ bypass_recursive_check cursor_sharing_exact no_expand no_rewrite */
T15_TIME_ID ALIAS_73,
T15_DAY_ID ALIAS_74,
FIRST(T15_OPEN) ALIAS_75,
MAX(T15_HIGH) ALIAS_76
FROM
SELECT /*+ no_rewrite */
T1."DAY_ID" T15_DAY_ID,
T1."TIME_ID" T15_TIME_ID,
T1."OPEN" T15_OPEN,
T1."HIGH" T15_HIGH
FROM
TS."SECOND_BARS_FACT" T1 )
T15
GROUP BY
(T15_DAY_ID, T15_TIME_ID)
ORDER BY
T15_DAY_ID ASC NULLS LAST ,
T15_TIME_ID ASC NULLS LAST -
How to define an aggregation rule for a dimension based on bridge table?
Hello,
I need a solution for aggregating data correctly when using a dimension based on a set of dimensione tables containing a bridge table. Please find below a description of my business case and the OBIEE model which I’ve created thus far.
Business Case
The company involved wants to report on the number of support cases, the different types of actions that were taken and the people involved in those actions. One support case will undergo a number of actions (called ‘handelingen’) until it is closed. For each action at least one person is involved performing a specific role, but there can also be multiple persons involved with 1 action, each performing a different role for that action. This is the N : N part of the model.
The problem that I face is visible in the two pictures below:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample.png
As long as I don’t include anything from the Dimension Meelezer in my report, I get the correct number of handelingen (7). When I include the person (called ‘Meelezer’), the measuere per action is multiplied by the number of persons/roles involved with that action.
When I changed the Aggregation rule in the report column #Handelingen to ‘Server Complex Aggregate’ I do get the correct endtotal:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample2.png
I believe it should be possible to define in the repository a different aggregation rule for individual dimensions, but I’ve not been able to achieve this.
Explained below is what I have created in my Physical and Business Model & Mapping layers:
The Physical Model is built like this:
(This is just a small part of a much larger physical model, but I’ve only included the most relevant tables)
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/PhysicalDiagram-1.png
The Fact table (ALS Feit Zaakverloop) contains FK’s for the action (FK_HANDELING, joined to ALS Dim Handeling), the date the action took place (FK_DATUM_ZAAKVERLOOP, joined to ALS Dim Datum Zaakverloop) and the uniqe group of people involved (FK_MEELEZERS, joined to ALS Groep Meelezers) and a measure column (SUM_HANDELINGEN) populated with the value ‘1’ for each row.
The Bridge table (ALS Brug Meelezer/Reden Meelezen) contains three FK’s: FK_GR_MEELEZERS (joined to ALS Groep Meelezers), FK_MEELEZER (joined to ALS Dim Functionaris) and FK_REDEN_MEELEZEN (joined to ALS Dim Reden Meelezen).
The Business Model
In the business model, the four physical tables for the N:N relation have been combined into one logical dimension table.
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BusinessModel-1.png
DIM Meelezer contains one LTS in which the four physical tables have been combined:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS1.png
And all the required locical columns have been created:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS2.png
DIM Meelezer has also been identified as a bridge table and a Business Key has been defined on a combination of the FK’s in the bridge table and business codes of the two dimension tables.
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BMDIM.png
Next a hierachy was created for Dim Meelezer:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/Hier.png
In Feit Zaakverloop, a measurement called ‘# Handelingen’ was created using SUM_HANDELINGEN, with an aggregation rule of SUM.
In the LTS of both the DIM Meelezer and Feit Zaakverloop, the Logical Content Levels have both been set to: LVL Detail – Meelezer.
Please provide suggestions that will NOT require changes to the physical datamodel as they would require too much time to achieve (or at leats would not be ready before my deadline.
Thanks!
Edited by: The_Dutchman on Dec 13, 2011 11:43 AMHmm, no replies yet...
Am I in 'uncharted territory' with this issue? -
Problem with calculating measures in AWM
Hi,
We created dimensions and cubes in AWM (or in OWB) - without using materialized views. We we maintain cube using sum, min and max aggregation function eberythink is OK - we can see data in views, but when we maintain cube using other function e.g. average we see, that in view we have aggregated data using sum function, so:
sum makes sum
min makes min
max makes max
other functions makes sum
Oracle DB 11gR2 for win 64-bit
awm latest version 11.02 patchA
what to do? maybe we don't understand something?One more time:
Hello,
I checked it. Unfortunately You're wrigth. I have simple CUBE AW_T5_V2 with three measures:
cena,
przebieg,
rok
and two simple dimensions:
aw_kolor with levels
KOLOR and
ODCIEN (ODCIEN_ID is foreign key)
aw_model with levels
MARKA
MODEL
SILNIK (SILNIK_ID is foreign key)
In point 1. and 2. everything is OK. (I mean in cube definition in dba_cubes:
SOLVE
AVG
ALLOW OVERFLOW
ALLOW DIVISION BY ZERO
IGNORE NULLS OVER CPOWBADMHD.AW_KOLOR,
AVG
ALLOW OVERFLOW
ALLOW DIVISION BY ZERO
IGNORE NULLS OVER CPOWBADMHD.AW_MODEL
and in AGG_MAP definition in OLAP Worksheet
DEFINE AW_T5_V2_SOLVE_AGGMAP AGGMAP LOCKDFN
AGGMAP
RELATION this_aw!AW_KOLOR_AGGRREL(this_aw!AW_T5_V2_SOLVE_AW_KOLOR_HVSET) PRECOMPUTE(NA) OPERATOR AVERAGE args DIVIDEBYZERO YES DECIMALOVERFLOW YES NASKIP YES COUNT YES
RELATION this_aw!AW_MODEL_AGGRREL(this_aw!AW_T5_V2_SOLVE_AW_MODEL_HVSET) PRECOMPUTE(NA) OPERATOR AVERAGE args DIVIDEBYZERO YES DECIMALOVERFLOW YES NASKIP YES COUNT YES
AGGINDEX NO
CACHE SESSION
END
But in cube_build_log I can see script in OUTPUT column:
<SQL>
<![CDATA[
SELECT /*+ bypass_recursive_check cursor_sharing_exact no_expand no_rewrite */
T14_ODCIEN_ID ALIAS_51,
T11_SILNIK_ID ALIAS_52,
SUM(T17_CENA) ALIAS_53,
SUM(T17_PRZEBIEG) ALIAS_54,
SUM(T17_ROKPROD) ALIAS_55
FROM
SELECT /*+ no_rewrite */
T1."PRZEBIEG" T17_PRZEBIEG,
T1."CENA" T17_CENA,
T1."ROKPROD" T17_ROKPROD,
T1."AW_KOLOR" T17_AW_KOLOR,
T1."AW_MODEL" T17_AW_MODEL
FROM
CPOWBADMHD."AW_T5_TAB" T1 )
T17,
SELECT /*+ no_rewrite */
T1."DIMENSION_KEY" T14_DIMENSION_KEY,
T1."ODCIEN_ID" T14_ODCIEN_ID
FROM
CPOWBADMHD."AW_KOLOR_TAB" T1 )
T14,
SELECT /*+ no_rewrite */
T1."DIMENSION_KEY" T11_DIMENSION_KEY,
T1."SILNIK_ID" T11_SILNIK_ID
FROM
CPOWBADMHD."AW_MODEL_TAB" T1 )
T11
WHERE
((T14_DIMENSION_KEY = T17_AW_KOLOR)
AND (T11_DIMENSION_KEY = T17_AW_MODEL) )
GROUP BY
(T11_SILNIK_ID, T14_ODCIEN_ID)
ORDER BY
T11_SILNIK_ID ASC NULLS LAST ,
T14_ODCIEN_ID ASC NULLS LAST ]]>/>
</SQL>
It should be AVG, where is SUM (I've checked that, when I update agg method to min or max function is changing from sum to mix or max). I suppose SQL should sum measures and devide by number of records.
OK, we know where is bug, what to do? -
Looping through an array to get the index for each measure in a combo box
Hi folks,
I am working on a web application that has two combo boxes, one for year (called yearcombo) and for measures (called myURL) for that selected year, and also two radiobuttons (in radioBtnGroup). I have two years and a bunch of measure for each year. I have a map tool tip that when you mouse over the county you see a measure for that specific year. However I have a bunch of measures for each year and I want to be able to loop through the measures (which are in an array collection inside a combobox) so my "if" expression can find every selectedIndex and bring me the tool tip for that selected measure for that selected radio button. Right now I would have to create if statements for each measure (each selectedIndex inside the myURL combobox)and each radiobutton (inside the radioBtnGroup) instead of creating a if expression to get a map tip tool for each measure. I know I would have to create a loop to search for these indexes and enter that in the if expression and also change the graphic.attributes to reflect the right measure or index selected. Do you API for Flex wizards can give me any tips on how to code this according to my code below ? Any help is greatly appreciated! (the print scree is attached)
Below is the code snippet:
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
And below is the combo boxes with the arrays
<mx:FormItem label="Year :" >
<mx:ComboBox id="yearcombo" selectedIndex="0" labelField="label" width="100%" change="changeEvt(event)" >
<mx:ArrayCollection id="year" >
<fx:Object label="2007" year="2007" />
<fx:Object label="2009" year="2009" />
</mx:ArrayCollection>
</mx:ComboBox>
</mx:FormItem>
<mx:FormItem label="Measure:">
<mx:ComboBox id="myURL" selectedIndex="8" width="80%" mouseOver="clickEv2(event)" close="closeHandler(event)">
<mx:ArrayCollection id="measures" >
<fx:Object id="forindout07" labeltext="2007 Forestry Industry Output" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_07_forest_industry_output" year="2007" />
<fx:Object id="foremp07" label="2007 Forestry Employment " value="RADIO_BUTTONS/TFEI_07_forest_employment" year="2007" />
<fx:Object id="forlabinc07" label="2007 Forestry Labor Income " value="RADIO_BUTTONS/TFEI_07_forest_labincome" year="2007" />
<fx:Object id="forindbustax07" label="2007 Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_07_forest_business_tax" year="2007" />
<fx:Object id="forindout09" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_09_forest_industry_output" year="2009" />
<fx:Object id="foremp09" label="2009 Forestry Employment " value="RADIO_BUTTONS/TFEI_09_forest_employment" year="2009" />
<fx:Object id="forlabinc09" label="2009 Forestry Labor Income " value="RADIO_BUTTONS/TFEI_09_forest_labincome" year="2009" />
<fx:Object id="forindbustax09" label="2009 Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_09_forest_business_tax" year="2009" />
<fx:Object id="blank" label=" " />
</mx:ArrayCollection>And here is the entire code
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags"
paddingBottom="8" paddingLeft="8"
paddingRight="8" paddingTop="8"
backgroundColor="0xffffff"
layout="vertical" >
<!-- Start Declarations -->
<fx:Declarations>
<esri:SimpleFillSymbol id="mouseOverSymbol" alpha="0.5" color="0x808080">
<esri:SimpleLineSymbol width="0" color="#000000"/>
</esri:SimpleFillSymbol>
<esri:SimpleFillSymbol id="defaultsym" alpha="0.01" color="#E0E0E0" >
<esri:SimpleLineSymbol width="1" color="#000000"/>
</esri:SimpleFillSymbol>
<!-- End Declarations -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.esri.ags.Graphic;
import com.esri.ags.SpatialReference;
import com.esri.ags.esri_internal;
import com.esri.ags.events.GraphicEvent;
import com.esri.ags.geometry.Extent;
import com.esri.ags.layers.ArcGISDynamicMapServiceLayer;
import com.esri.ags.symbols.SimpleFillSymbol;
import com.esri.ags.symbols.SimpleLineSymbol;
import flash.utils.flash_proxy;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.controls.RadioButton;
import mx.controls.TextArea;
import mx.events.DropdownEvent;
import mx.events.ItemClickEvent;
import mx.rpc.Fault;
import mx.rpc.events.FaultEvent;
import flash.display.Sprite;
import flash.events.ErrorEvent;
import flash.events.MouseEvent;
private function closeHandler(evt:DropdownEvent):void {
myLabel.text = ComboBox(evt.target).selectedItem.labeltext;
private function loadLayerName():void
myLegend.layers = null;
layerPanel.removeAllChildren();
//loop through each layer and add as a radiobutton
for(var i:uint = 0; i < (dynamicLayer.layerInfos.length); i++)
var radioBtn:RadioButton = new RadioButton;
radioBtn.groupName = "radioBtnGroup";
radioBtn.value = i;
radioBtn.label = dynamicLayer.layerInfos[i].name;
if (dynamicLayer.layerInfos[i].name == "Direct Impact (Million $)")
radioBtn.label = "Direct Impact";
else if (dynamicLayer.layerInfos[i].name == "Total Impact (Million $)")
{radioBtn.label = "Total Impact";
else if (dynamicLayer.layerInfos[i].name == "Total Impact (Jobs)")
{radioBtn.label = "Total Impact";
else if (dynamicLayer.layerInfos[i].name == "Direct Impact (Jobs)")
{radioBtn.label = "Direct Impact";
else
{radioBtn.visible= false;
layerPanel.addChild(radioBtn);
/* myDividerBox.getDividerAt(0).visible = false; */
//set the visible layer the first radio button
radioBtnGroup.selectedValue = 0;
dynamicLayer.visibleLayers = new ArrayCollection([0]);
myLegend.layers = [dynamicLayer];
myLegend.visible = true;
private function radioClickHandler(event:ItemClickEvent):void
myLegend.layers = null;
// update the visible layers to only show the layer selected
dynamicLayer.visibleLayers = new ArrayCollection([event.index]);
myLegend.layers = [dynamicLayer];
private function changeEvt(event:Event):void {
if (yearcombo.selectedItem.year == "2007")
measures.filterFunction=filter1
measures.refresh()
myURL.dataProvider=measures
else if (yearcombo.selectedItem.year == "2009")
measures.filterFunction=filter2
measures.refresh();
public function filter1(item:Object):Boolean
if (item.year=="2007") return true
else return false
public function filter2(item:Object):Boolean
if (item.year=="2009") return true
else return false
private function clickEvt(event:Event):void {
if (yearcombo.selectedItem.year == "2007")
measures.filterFunction=filter3
measures.refresh()
myURL.dataProvider=measures
else if (yearcombo.selectedItem.year == "2009")
measures.filterFunction=filter4
measures.refresh();
public function filter3(item:Object):Boolean
if (item.year=="2007") return true
else return false
public function filter4(item:Object):Boolean
if (item.year=="2009") return true
else return false
private function clickEv2(event:Event):void {
if (yearcombo.selectedItem.year == "2007")
measures.filterFunction=filter5
measures.refresh()
else if (yearcombo.selectedItem.year == "2009")
measures.filterFunction=filter6
measures.refresh();
else if (yearcombo.selectedItem.year == 2007 && myURL.selectedIndex==8)
myLegend.layers = null;
layerPanel.removeAllChildren();
public function filter5(item:Object):Boolean
if (item.year=="2007") return true
else return false
public function filter6(item:Object):Boolean
if (item.year=="2009") return true
else return false
/* IF YOU WANT TO INCLUDE OTHER VALUES IN THE MAP TOOLTIP LIKE COUNTY NAME AND THE LABEL OF THE SELECTED ITEM
if (myURL.selectedIndex==0)
myTextArea.htmlText = "<b>County: </b>" + gr.attributes.NAME + "\n"
+ "<b>Measure: </b>" + myURL.selectedItem.label + gr.attributes.ForDirIndOut.toString()
public function fLayer_graphicAddHandler(event:GraphicEvent):void
event.graphic.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverHandler);
event.graphic.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutHandler);
public function onMouseOverHandler(event:MouseEvent):void
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 3 )
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForIndirBusTax.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 3 )
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForIndirBusTax.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
public function onMouseOutHandler(event:MouseEvent):void
var gr:Graphic = Graphic(event.target);
gr.symbol = defaultsym;
myMap.infoWindow.hide();
]]>
</fx:Script>
<fx:Style>
@namespace esri "http://www.esri.com/2008/ags";
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
@namespace esri "http://www.esri.com/2008/ags";
@namespace components "com.esri.ags.components.*";
components|InfoWindow
content-background-alpha : 0.4;
background-color : #4A7138;
background-alpha : 0.7;
border-style : solid;
</fx:Style>
<mx:HBox width="930" height="800" id="mapHbox" horizontalAlign="center" >
<mx:HBox width="80">
</mx:HBox>
<mx:HBox id="myHBox" width="800" height="600" backgroundColor="0xffffff" >
<mx:VBox height="590" width="358" >
<!-- <mx:Panel
width="356" height="100%"
color="0x000000"
borderAlpha="0.15"
>
-->
<mx:Canvas height="100%" width="100%" backgroundColor="0xffffff" >
<esri:Map id="myMap" openHandCursorVisible="false"
height="100%"
logoVisible="false"
doubleClickZoomEnabled="false"
scrollWheelZoomEnabled="false"
zoomSliderVisible="false"
scaleBarVisible="false" scale="4000000" >
<esri:extent>
<esri:Extent xmin="-10736651.061900" ymin="4024099.909700" xmax="-10409195.669800" ymax="3440153.831100" >
<esri:SpatialReference wkid="102100"/>
</esri:Extent>
</esri:extent>
<esri:ArcGISDynamicMapServiceLayer id="dynamicLayer2"
url="http://tfs-24279/ArcGIS/rest/services/RADIO_BUTTONS/counties_layer/MapServer" />
<esri:ArcGISDynamicMapServiceLayer id="dynamicLayer" name=" "
alpha="1"
load="loadLayerName()"
url="http://tfs-24279/ArcGIS/rest/services/{myURL.selectedItem.value}/MapServer" />
<esri:FeatureLayer id="fLayer"
graphicAdd="fLayer_graphicAddHandler(event)"
mode="snapshot"
outFields="*"
symbol="{defaultsym}"
url= "http://tfs-24279/ArcGIS/rest/services/RADIO_BUTTONS/feature_layer_0709_five/FeatureServer/ 0" />
</esri:Map>
</mx:Canvas>
<!-- </mx:Panel>-->
</mx:VBox>
<mx:VBox height="590" width="20" >
</mx:VBox>
<mx:Canvas height="500" width="400" backgroundColor="0xffffff"
horizontalScrollPolicy="off"
verticalScrollPolicy="off" >
<mx:VBox width="420" height="50%" paddingLeft="5" paddingTop="10" paddingRight="10" paddingBottom="10"
verticalGap="8">
<mx:Form >
<mx:FormItem label="Year :" >
<mx:ComboBox id="yearcombo" selectedIndex="0" labelField="label" width="100%" change="changeEvt(event)" >
<mx:ArrayCollection id="year" >
<fx:Object label="2007" year="2007" />
<fx:Object label="2009" year="2009" />
</mx:ArrayCollection>
</mx:ComboBox>
</mx:FormItem>
<mx:FormItem label="Measure:">
<mx:ComboBox id="myURL" selectedIndex="8" width="80%" mouseOver="clickEv2(event)" close="closeHandler(event)">
<mx:ArrayCollection id="measures" >
<fx:Object id="forindout07" labeltext="Forestry Industry Output" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_07_forest_industry_output" year="2007" />
<fx:Object id="foremp07" label="Forestry Employment " value="RADIO_BUTTONS/TFEI_07_forest_employment" year="2007" />
<fx:Object id="forlabinc07" label="Forestry Labor Income " value="RADIO_BUTTONS/TFEI_07_forest_labincome" year="2007" />
<fx:Object id="forindbustax07" label="Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_07_forest_business_tax" year="2007" />
<fx:Object id="forindout09" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_09_forest_industry_output" year="2009" />
<fx:Object id="foremp09" label="Forestry Employment " value="RADIO_BUTTONS/TFEI_09_forest_employment" year="2009" />
<fx:Object id="forlabinc09" label="Forestry Labor Income " value="RADIO_BUTTONS/TFEI_09_forest_labincome" year="2009" />
<fx:Object id="forindbustax09" label="Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_09_forest_business_tax" year="2009" />
<fx:Object id="blank" label=" " />
</mx:ArrayCollection>
</mx:ComboBox>
</mx:FormItem>
</mx:Form>
<mx:VBox id="layerPanel" width="50%" height="8%" verticalGap="3" paddingLeft="17">
<mx:RadioButtonGroup id="radioBtnGroup" itemClick="radioClickHandler(event)" />
</mx:VBox>
<mx:VBox paddingLeft="17" height="50%" >
<mx:Canvas id="legendPanel" width="100%" >
<mx:Label id="myLabel" text=" " fontWeight="bold" />
<esri:Legend id="myLegend"
layers="{[dynamicLayer]}"
map="{myMap}" visible="false"
respectCurrentMapScale="false"/>
</mx:Canvas>
<mx:TextArea width="275" borderAlpha="0" height="200" >
<mx:htmlText >
<![CDATA[<font size='11'><b>Note:</b> Counties in white indicate either no data is available for that measure or the data has been supressed due to confidentiality.</font>
]]>
</mx:htmlText>
</mx:TextArea>
</mx:VBox>
</mx:VBox>
</mx:Canvas>
</mx:HBox>
</mx:HBox>
</mx:Application> -
What is posted availability specification for Windows server 2012? 2012R2?
I am trying to put together a high availability solution and I want to know what the availability 'claim' of the individual components would be. What is the availability specification for Windows server 2012 and Windows Server 2012R2?(for example 99.9%
availability for the O/S itself). This would be in a non clustered or Load Balanced state. Just a single server running the O/S.Hi,
SLA requirements determine how components such as storage, clustering, and backup and recovery factor into your organization.The term high availability is meaningless until you define how to measure it. IT shops measure high availability as the percentage of
time that systems are available, but the provider and consumer of high-availability services must agree on what constitutes availability and how the time is measured.
The related KB:
Service Level Agreement Review
http://technet.microsoft.com/en-us/library/cc546625.aspx
High-Availability System Architecture
http://technet.microsoft.com/en-us/library/cc750543.aspx
Service Level Agreement Review
http://technet.microsoft.com/en-us/library/cc546625.aspx
Hope this helps.
We
are trying to better understand customer views on social support experience, so your participation in this
interview project would be greatly appreciated if you have time.
Thanks for helping make community forums a great place. -
Pblm in Converting BUOM to Batch specific unit of measure
Hi Gurus
I am Facing a Problem in converting the base unit of measure to batch specific unit of measure.
I have given BUOM in KG.Batch specific unit of measure is PC.
When i do GR for the material in KG with the average wt of the material in kg in the classification view
the system is increasing my GR KG to convert the material to PCS .
I dont want KG to be increased but the PCs to be rounded off to next integer.
How can i resolve this pblm??
NB:- All the settings are done correctly
and all the notes are applicable in ECC 604
Thanks and Regards
BSDear
Did you assing any Rounding value and Rouding Profile in MRP1-MM01 for this item ?? Do not maintained this option in MRP1 and check wether you have Kept rouing vadule against KG in CUNI ??
Basically , if you maintain the profile then it will rounds up to the next level based on the thresold valu as configuired in your case in Rouidng Profile in OWD1 .
Also check in MM-Purcahsing -Order Optimisation -Unit of Measure of Rounding rules for purchased item .This based on the control of optimisation of qty.
Hope it helps
Regards
JH -
Mass deletion of Batch specific unit of measure
Dear Experts,
How to delete the batch specific unit of measure in the material master maintained in the additional data -unit of measure and proportional / production unit of measure in mass . We have some 1000 material for which we want to remove the datas related to batch specific unit of measure from the material master.I have not yet seen an option to delete data with MM17, but I am open to be educated.
I would suggest you do it with LSMW or CATT.
However, test it first in MM02, before you waste your time with mass processing. You might receive errors if that material was already in use and batches exist. -
Activation of Batch Specific Unit of Measure in IS-Retail System
Hi experts,
In our scenario for Articles, Client work with kg, but also want to keep track of the number of pieces.
I am trying to MAP this Process using Batch Specific Unit of Measure functionality in IS-Retail.
Is it Possible to Use the Batch Specific Unit of Measure functionality in IS-Retail System.
In Article Master, I couldnt find any "Classification View" or "Proportion/Product unit" Tab.
Also is it possible to capture the Batch Characteristics through Interface ???
-MSKdear friend,
just in case look here:
http://help.sap.com/saphelp_47x200/helpdata/EN/97/b7293772b7ce25e10000009b38f839/frameset.htm
good luck! -
Batch specific units of measure
Hi experts,
I've been reading about Batch specific units of measure and I've make some tests following the indications in this blog:
/people/raja.ramasamy/blog/2010/02/22/batch-specific-units-of-measure-step-by-step-configuration-for-steel-industry
In our scenario we work with kg, but we want to keep track of the number of pieces.
But we don't want to introduce the average weight of each batch, we would like to inform the total amount of kg and the number of pieces. Is possible?
ThanksHi,
You can maintain info record for the same by using Tcode-ME11 . you can find conversion factor under Purchasing Org1.
Example - Material XYZ, 50KG=1 BAG ,Base UOM in Material Master as BAG
then conversion factor in Info record as follows
Order Unit will be KG
And conversion factor will be 50KG=1BAG.
Regards,
Sandesh Sawant -
Batch specific unit of measurement.
Dear Gurus,
My client is getting raw materials in ingots by unit of measurement in Weight.
But at the time of issue we have to consider lenght and weight. we can not use unit of conversion for the same because iron ingot diameter varies slightly, so we have decided to use the batch specific unit of measurement.
But after creating class and characteristic system is not showing the same in proportion unit in master data.
I think there may be somthing missing in the customization.
Kindly elaborate customization so that i can check and correct accordingly.
Thank you,
Anup.maintian organisation area - S in the basic data of class( CL02) and also maintain same value (S) against the particular characteristic in the char tab .Now it will appear in the material master .
appreciate if it is helpful -
Batch-specific Unit of Measures
Hi,
1. I have activating batch-specific Unit of Measures, but in MIGO don't show me field for input batch unit. Can you tell me how and where set up - for working with batch-specific Unit of measures.
2. Which tables link is between batch and classification, where I use class type 023-batch. (which fields can I join).
Thanks for your advice.Batch Specific Unit of measures is what was originally called Active Ingredients Management.
You need to set up QM and classification for this, MIGO will not give you additional field for entering quantity in separate UOM
Lakshman
Maybe you are looking for
-
Lost Disc recovery after hard drive crashed installed windows 8.1 no drivers
Hard drive crashed and replaced hard drive with ssd, lost all recovery discs then updated to windows 8.1 now i dont have any drivers like finger print scanner and cd discs will not load. It is a hp pavilion dv6-3079tx Need Help Thanks, Leady05
-
File not well formed: Process instruction name (may not be 'xml') expected
I am a WBI developer whose end result is to produce one XML file. This file will receive a number of events that will constantly append to XML file. Each appendage will contain same structure but diff data than one before. Also I have created a WBI b
-
How can I watch TV episodes purchased via Apple TV on my MacBook Air ?
I have been purchasing TV episodes via Apple TV to watch on my TV. How can I watch those purchased items on my MacBook Air ?
-
FTP - Not uploading to remote host server.
Trying to use FileZilla client on Mac with Lion to FTP upload (in passive mode) files from the Mac to the remote server to build web pages. Within FileZilla, able to log in, change directories and download any available file. Only able to upload file
-
MS Excel Data Analysis toolpak question
Attempted to add data analysis toolpak to MS Excel using MS Office 2004 for Mac. However, when I attempt to load/add the program, a folder is added containing Data Analysis is listed but "Data Analysis" does not show up in my MS Excel "Tools" tab. Pr