Parent function MDX
Hello,
I'm trying to get the parent of my current member for a dimension
EVALUATE('%1.Dimension.CurrentMember.Parent', 'SITES')
SITES is my dimension..
I got the error :Target data source does not support the Complex Expression operation
Any idea? Wrong syntax?
Apart from "yes, the syntax is wrong"...what do you actually expect to get back from this?
Similar Messages
-
When using TODATE function MDX query is not correctly generated
Essbase 9.3.1.2 and OBIEE 10.1.3.4.1.
When using TODATE function MDX query is not correctly generated.
This leads to unexpected values not only on cumulative columns in report (generated with TODATE), but also other columns (calculated with AGO function or directly read from cube) have incorrect values.
The problem occurs when you filter on a column that is not in the select list. If you filter on just one level of dimension, results are fine. You can filter on multiple dimensions as long as you filter on just one level of each dimension.
If you filter on two or more levels of one dimension, than results are not correct. In some cases results for TODATE column are all zeros, in some cases it is a random value returned by Essbase (same random value for all rows of that column), and in some cases BI Server returns an error:
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. Essbase Error: Network error [10054]: Cannot Send Data (HY000).
Here is generated MDX code:
With
set [Grupe proizvoda2] as '{[Grupe proizvoda].[N4]}'
set [Grupe proizvoda4] as 'Generate([Grupe proizvoda2], Descendants([Grupe proizvoda].currentmember, [Grupe proizvoda].Generations(4), leaves))'
set [Segmentacija2] as '{[Segmentacija].[RETAIL]}'
set [Segmentacija4] as 'Filter(Generate({[Segmentacija2]}, Descendants([Segmentacija].currentmember, [Segmentacija].Generations(4),SELF), ALL), ([Segmentacija].CurrentMember IS [Segmentacija].[AFFLUENT]))'
set [Vrijeme3] as '{[Vrijeme].[MJESEC_4_2009]}'
member [Segmentacija].[SegmentacijaCustomGroup]as 'Sum([Segmentacija4])', SOLVE_ORDER = AGGREGATION_SOLVEORDER
member [Accounts].[MS1] as '(ParallelPeriod([Vrijeme].[Gen3,Vrijeme],2,[Vrijeme].currentmember), [Accounts].[Trosak kapitala])'
member [Accounts].[MS2] as '(ParallelPeriod([Vrijeme].[Gen3,Vrijeme],1,[Vrijeme].currentmember), [Accounts].[Trosak kapitala])'
member [Accounts].[MS3] as 'AGGREGATE({PeriodsToDate([Vrijeme].[Gen2,Vrijeme],[Vrijeme].currentmember)}, [Accounts].[Trosak kapitala])'
select
{ [Accounts].[Trosak kapitala],
[Accounts].[MS1],
[Accounts].[MS2],
[Accounts].[MS3]
} on columns,
NON EMPTY {crossjoin ({[Grupe proizvoda4]},{[Vrijeme3]})} properties ANCESTOR_NAMES, GEN_NUMBER on rows
from [NISE.NISE]
where ([Segmentacija].[SegmentacijaCustomGroup])
If you remove part with TODATE function, the results are fine. If you leave TODATE function, OBIEE returns an error mentioned above. If you manually modify variable SOLVE_ORDER and set value to, for example, 100 instead of AGGREGATION_SOLVEORDER, results are OK.
In all cases when this variable was modified in generated MDX, and query manually executed on Essabse, results were OK. This variable seems to be the possible problem.Hi,
Version is
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for 64-bit Windows: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production
Sorry, in my last post i forgot to mention that i already created a function based index but still it is not using because, there is a UNIQUE constraint on that column.
Thanks -
[XML/XPATH] jaxen : problem with "parent" function
Hello
I have a problem with jaxen, when I try to use the XPath function parent :
When I try this :
import ...
DocumentNavigator dn=new DocumentNavigator();
try {
objet=dn.getDocument("TESTXPath.xml");
apath=dn.parseXPath("/Entry/Resultats/step/Population/individu/*");
result=apath.evaluate(objet);
System.out.println(result);
apath=dn.parseXPath("/Entry/Resultats/step/Population/parent::*");
result=apath.evaluate(objet); // ---> exception
System.out.println(result);
catch(Exception e) {
e.printStackTrace();
The first result is well displayed, but just before the second, I catch this exception:
Exception in thread "main" java.lang.NoSuchMethodError: org.jdom.Element.getParent()Lorg/jdom/Element; at org.jaxen.jdom.DocumentNavigator.getParentAxisIterator(DocumentNavigator.java: 252)
at org.jaxen.expr.iter.IterableParentAxis.iterator(IterableParentAxis.java:82)
at org.jaxen.expr.DefaultStep.axisIterator(DefaultStep.java:139)
at org.jaxen.expr.DefaultLocationPath.evaluate(DefaultLocationPath.java:188)
at org.jaxen.expr.DefaultAbsoluteLocationPath.evaluate(DefaultAbsoluteLocationPat h.java:126)
at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:107)
at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:716)
at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:239)
at org.jaxen.BaseXPath.evaluate(BaseXPath.java:196)
at MainTestClass.main(MainTestClass.java:85)
However, the first query works good and I received list so I'm quite sure that it's not a problem of unfindable elements.
Finaly I can't be syccessful to use XPath parent function:
Either I catch an exception, or it returns nothing or empty list
Isn't the XPath syntax correct in my second expression ?
Can we do :
/.../.../parent::* ? ou //individu/parent::* ?Thanks
I think so, but.
In fact I don't think I'm using different version of JDOM.
I use eclipse with jdk1.4.2.
I have downloaded JDOM-b10 and the only things I have done is to extract zip archive and to add all .jar files of the jdom directory in my library path.
Do this is the only version of JDOM I'm using.
All works perfectly excepted only the XPath parent method. It's strange that the other methods work fine.
I don't knnow how to solve this problem ! so if you can help me I be very thankfull. -
IFRAME in portlet question - possible to call parent function from iframe?
From the iframe I tried to call the parent function by doing this parent.myFunc(). I got a permission denied javascript message. Just curious if anyone has successfully done this. If so please share your thoughts and comments.
Hi,
You will get "Persmission denied" error due to cross site scripting. Either you need to change browser settings to allow cross site scripting or you need to make sure both the URLs fall under same parent domain like both URLs ending with "*.abc.com".
Thanks -
Parent function calling a child function with arguments
Can anyone give examples of a parent function which has at least 1 parameter, and is invoked from the Form Behavior, which in turn , depending on data, invokes 2 or more child functions passing to these functions the same parameter that was passed in to it.
I am getting 'Object required' and do not know what I am doing wrong. Please let me know if you've done it, and how you've referenced it , if they are BOTH functions. Thank you!The best way to do this is probably using delegates, but to do it directly you have to solve the circular dependency problem (as you have discovered). See
http://en.wikipedia.org/wiki/Circular_dependency
In case it is not clear to you how the Wikipedia article relates to your case, your files should look something like this:
// Form1.h
#include "Watch.h"
ref class Form1: public Form
public:
void SomeMethod()
// implementation
private:
void SomeHandler()
Watch watchForm(this);
watchForm.ShowDialog();
// Watch.h
ref class Form1; // declaration only
ref class Watch: public Form
public:
Watch(Form1^ f1);
private:
Form1^ form1;
void SomeMethod();
// Watch.cpp
#include "Watch.h"
#include "Form1.h"
Watch::Watch(Form1^ f1)
form1 = f1;
void Watch::SomeMethod()
form1->SomeMethod();
David Wilkinson | Visual C++ MVP -
HTML5 Canvas: Calling a parent function
Hey guys
I'm currently banging my head against a brick wall trying to call a parent function with the HTML5 Canvas.
I have the following code on the stage:
function fromStage()
console.log("This is on the stage");
fromStage();
This correctly outputs that message to the console in the browser.
However, I have a button within a movie clip that I want to call this function from, my code in that movie clip is as follows:
this.theButton.addEventListener("click", fl_MouseClickHandler.bind(this));
this.theButton.name = "theButton";
function fl_MouseClickHandler(e)
this.parent.fromStage();
However, this doesn't appear to be working, any ideas?
Thanksuse:
on the stage:
this.fromStage=function()
console.log("This is on the stage");
this.fromStage();
code in that movie clip is as follows:
this.theButton.addEventListener("click", fl_MouseClickHandler.bind(this));
this.theButton.name = "theButton";
function fl_MouseClickHandler(e)
this.parent.fromStage(); -
MovieClip(parent).function throws error TypeError: Error #1034:
The error says there is a forced conversion of a loader to a movieclip.
I am using a container movie main.swf to load a child movie. The child movie tries to access a variable and a function in main.swf
child.swf contains:
import flash.display.Loader;
import flash.display.MovieClip;
import flash.events.Event;
MovieClip(parent).traceF;
MovieClip(parent).globalVar;
The loader Main movie is movie.swf which has its code in a Main.as doc
package
import flash.display.Loader;
import flash.display.MovieClip;
import flash.net.URLRequest;
import flash.events.ProgressEvent;
import flash.events.Event;
public class Main extends MovieClip
public var globalVar:String = "global";
public var myLoader:Loader = new Loader ();
public function Main()
this.addEventListener(Event.ADDED_TO_STAGE,init);
private function init(e:Event):void
loadFile("child.swf");
private function loadFile(path:String):void
var myRequest:URLRequest = new URLRequest(path);
myLoader.load(myRequest);
myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
private function loadProgress(evt:ProgressEvent):void
var amountLoaded:Number = (evt.bytesLoaded / evt.bytesTotal)*100;
trace("Loading: % " + amountLoaded);
private function loadComplete(evt:Event):void
trace("Complete - " + evt.target.content);
addChild(myLoader);
public function traceF ()
trace(globalVar);If you are loading the swf into another swf using the Loader class, the Loader is the parent of the loaded file. The parent of the Loader is the main swf you are probably after... MovieClip(parent.parent) from the loaded file's perspective.
-
Accessing parent function from class
Hey guys
I have a .fla file with some code in the actions panel.
A bit of code calls a function in a class from the actions panel
The function in the class is run, but I want to be able to call a function in the main actions panel code from the function in that class
The class doesn't extend anything so (parent as MovieClip).function() does not work
Any ideas?
Thanks
Chrisif you're trying to reference code attached to a timeline, your class will need a displayobject reference. you can pass it a reference when instantiating a class object:
// on a timeline:
var c:YourClass=new YourClass(this); // code your constructor to accept this movieclip reference.
you can then use that reference to access code in any timeline (that exists when trying to reference):
private var tl:MovieClip; // import the mc class.
public funciton YourClass(mc:MovieClip){
tl=mc; -
Calling parent function in override function?
[AS]
class Parent extends Grandfa
override protected function display()
//500 lines of code here
class Child extends Parent
private var isSquare:Boolean;
override protected function display()
if(isSquare)
//child's display function
} else {
//call parent's display() to avoid rewrite 500 lines of code
[/AS]
Parent has "display()" funciton with 500 lines of code in it. Bur Child acts differently depending on a value in isSquare:Boolean. If it's true, it acts its own action; otherwise, it acts just like the parent does.
Is there a way to act like parent in the override function without rewriting all the 500 lines of code?Do you actually call your classes Parent and Child or is this only Pseudo-code?
(You shouldn´t do that if you did)
super should provide what you are looking for. -
How call parent function through the module
Hi, i want to call the function of parent application which add the module can you tell how i can do it???
As long as you have the custom event classes accessible with import myClassDir.myClassSubdir.*;
you should be able to create custom events with var myEvt:MyCustomClass - new MyCustomClass(); and then dispatchEvent(myEvt);
You can communicate with the main app using mx.core.Application.applilcation or using parentDocument or parentApplication, though custom events are the way to go.
If this post answers your question or helps, please mark it as such. -
ASO - Time Functionality - MDX for Shared Members
Hi
I have create an ASO cube with two time hierarchies and I am currently trying to get the WTD To Date Functionality working.
The hierarchies are as follows
Hier1: Year->HalfYear->Quarter->Month->Week->Date (Date is stored)
Hier2: Year->HalfYear->Quarter->Month->Date (Date is shared)
In Hierarchy 1 the month of Jun contains the following days 27/05 - 30/06 due to the way the weeks fall.
In Hierarchy 2 the month of Jun contains the following days 01/06 - 30/06 as this shows the actual days in the month of June.
My problem is, in hierarchy 2, the shared members are taking on the WTD to values of the hierarchy 1 and my MDX is not recalculating for shared members.
Is it possible to recalculate for shared members?
Hierarchy1
Hier1 Value - WTD
Hierarchy 2
Hier2 Value - WTD
Jun-Wk1-27/05/13
100
May-27/05/13
100
Jun-Wk1-28/05/13
200
May-28/05/13
200
Jun-Wk1-29/05/13
300
May-29/05/13
300
Jun-Wk1-30/05/13
400
May-30/05/13
400
Jun-Wk1-31/05/13
500
May-31/05/13
500
Jun-Wk1-01/06/13
600
Jun-01/06/13
600 (This should reset back to 100 but instead it is taking on the value from Hierarchy 1 because it is shared)
Jun-Wk1-02/06/13
700
Jun-02/06/13
700 (This should be the sum of 01/06 +02/06 but instead it is taking the value of Hierarchy 1)
Below is a sample of the MDX I have
WHEN IsLeaf([Calendar].[ReportingYear].CurrentMember) AND Count ( Intersect (Descendants([ReportingYear]) ,{ [Calendar].[ReportingYear].CurrentMember })) > 0
THEN
sum((ANCESTOR( [Calendar].[ReportingYear].CurrentMember,1).Firstchild: [Calendar].[ReportingYear].CurrentMember), [View].[Periodic])
WHEN IsLeaf([Calendar].[CalendarYear].CurrentMember) AND Count ( Intersect (Descendants([CalendarYear]) ,{ [Calendar].[CalendarYear].CurrentMember })) > 0
THEN
/*1*/
sum((ANCESTOR([Calendar]. [CalendarYear].CurrentMember,1).Firstchild:[Calendar]. [CalendarYear].CurrentMember))
Thanks
MichelleIf you use the IsUda function within an IIF statement then you would have to specify a true part and a false part.IIF (Search condition,true part,false part)
-
I have a class which extends CustomNode and returns a Node which is made up of a Group. This makes up a menu. However, it is produced by the main application container (called "Main") by using "Menu { }". In "Main", there is a function called "startLocal()" which I would like to call (with some parameters) from "Menu". As an example, in Action Script (very different I know), I would use parent.startLocal() Is there a way to do this in JavaFX? I have tried using "super" but this refers to the CustomNode that I am extending, not "Main".
Thanks in advance,
okey666What you could do is have a variable in your CustomNode that is a function and then initialize the function to your Main's startLocal:
class MyCustomNode extends CustomNode {
public-init var startLocal:function():Void;
// Main.fx
function startLocal():{
def myNode = MyCustomNode {
startLocal: startLocal
} -
Calling a parent function when child .swf closes
I am adding a child .swf from the parent with a simple button. If this button is then clicked multiple times, the child is added multiple times. So I added the ".visible = false" to the button when clicked so the button cannot be clicked while the child is open.
Now, there is "Close" button on the child .swf that uses "this.parent.parent.removeChild(this.parent);" and would now need to set the parent button back to ".visible = true".
I have tried MovieClip.parent.parent.resetButton(); and parent as MovieClip.resetButton(); and many variations of the code. I get no errors but the code doesn't work either.
Any ideas?
Thank you.Figured this out on my own (don't believe it) without the child/parent communication.
When the parent's button is clicked, I'm checking to see if the child already exists. If so, it won't create the child again.
I'd still like to know how to perform the communication between child and parent. -
Function Pointer/Parent functionality in Java?
Hi,
I'm fairly new to Java and still finding my way around.
I have to write a game for a university project and need some functionality simalar to that of function pointers in C++. Basically, the game has several different types of objects (ships, planets, projectiles, etc). I have a class which runs a physics simulation, if I want an object to be included in the physics simulation, I instanciate a physics object class within that object and add a reference of the physics object to the physics simulator.
When the physics simulator detects a collision between two physics objects, i want the appropriate methods to be called within the two objects containing the physics objects. If i was using C++, i would simply construct each physics object with a function pointer to the method i want to run in the event of a collision.
I hope that made some sense...
Thankyou in advance for any input =)If i was using C++But are you familiar with object-oriented programming? And Patterns?
Check out the Strategy Pattern: http://en.wikipedia.org/wiki/Strategy_pattern -
Help for an function MDX AVG into a formulas
Hi,
I'm novice to build the MDX formulas. I need some help to build a formulas on a member of the account dimension.
I have tow dimensions : Age and Year of Service.
I want a formulas to calculate the "Average Age" and "Average Year in Service" with the "Head Count" of Account dimension.
16
17
18
19
20
21
22
23
24
25
25 and under
26 to 35
36 to 45
46 to 55
56 to 65
Over 65
Age by Decade
Age
0 Year(s)
1 Year(s)
2 Year(s)
3 Year(s)
4 Year(s)
51 Year(s)
52 Year(s)
53 Year(s)
54 Year(s)
55 Year(s)
56 Year(s)
57 Year(s)
58 Year(s)
59 Year(s)
No Years of Service
Years of Service
Thanks for your help.
Edited by: user5423712 on 2 nov. 2009 12:54Hi garycris,
I try that +AVG([Age].Levels(0).Members, [Accounts].[Head Count])+
The result is not good.
Head Count Age in Years
16 1 123
17 1 123
18 9 123
19 28 123
20 65 123
21 84 123
22 92 123
23 147 123
24 199 123
25 189 123
25 and under 815 123
26 to 35 1973 123
36 to 45 1803 123
46 to 55 1698 123
56 to 65 583 123
Over 65 16 123
Age by Decade 6888 123
Age by Generation 6888 123
Age 6888 123
Maybe you are looking for
-
Hi guys, since I have updated to Mavericks 10.9 I have been getting rundom frequent (up-to 5 in a day) crashes. After updating to 10.9.1 - my MacBook Air Late 2011 still crashes. 1.8 GHZ i7, 4 GB 1333 MHz DDR3 If any of you could help me to understa
-
RD430 will not boot when PCI card is added
I'm having an issue where my RD430 server will hang if I try to install a graphics card. My BIOS is up to date, using v2.12 I purchased an NVIDIA Quadro K2000 card. I attach it to one of the risers, connect my monitor to the NVIDIA card, and turn
-
BPEL 2.1.2 versus BPEL 10.1.2
What is a difference in BPEL PM between 'Oracle BPEL Process Manager 2.1.2 for JBOSS' and 'Oracle BPEL Process Manager 10.1.2'? Is the same BPEL PM version available for JBOSS and OAS 10g? Thanks.
-
Having trouble installing Itunes on ny pc w/windows 8
I can't install Itunes on my new PC that has Windows 8. Message says, "error ocurred in the installation of assembly Policy 8.0 Microsoft VC 80 CRT.type. Any help on what to do?
-
Double-click does not open Clip Trimmer
iMovie 10.0.5 Double-clicking a clip in the timeline ought to open the clip in the Clip Trimmer. Oddly, I think it once did for me. Only days ago perhaps. Now it just opens the Adjustments Bar. Instead, I must select Window > Show Clip Trimmer or use