Issues with limit/filter on outer join table in BQY
I'm converting a series of BQY's from Brio 6.6 to Hyperion 9.3. I have some questions about the "use ODBC outer join syntax on limits" option in the OCE. I sort of understand this option's purpose, but I don't completely understand the SQL I'm seeing. For example Brio 6.6 is generating the following SQL statement:
SELECT * FROM tblA AL1 LEFT OUTER JOIN tblB AL38 ON (AL38.ParentID=AL1.ChildID AND
AL38.Data='SomeData') WHERE ((NOT AL38.Action IS NULL))
Now, Hyperion 9.3 generated the SQL statement as follows:
SELECT * FROM tblA AL1 LEFT OUTER JOIN tblB AL38 ON (AL38.ParentID=AL1.ChildID AND
AL38.Data='SomeData') AND (NOT AL38.Response IS NULL))
My questions are:
1) Why isn't the "NOT AL38.Action IS NULL" statement included in the outer join in Brio? My limited understanding of the "use ODBC outer join syntax on limits" seems to indicate that it should end up there. I want the SQL to look like this, but I don't know why Brio generates this SQL.
2) How can I get Hyperion to generate the same SQL as Brio? And still use the OCE with "use ODBC outer join syntax on limits" selected?
Setting the Cardinality of Department > Employee role to OptionalOne
gives rise to cartesian join (which is a bigger issue).
Therefore, the Cardinality of Department > Employee role should remain as
OptionalMany (default).
This means, the outer join problem still remains unsolved. I have, therefore,
unmarked the above answer by me.
The question is - why has Report Builder been designed in such a way that the primary entity is always the child entity when attributes are selected from both parent and child entities?
Most people desire that all the rows of the parent entity be fetched irrespective of whether there are corresponding rows in the child entity or not. Report Builder tool should not dictate what the user wants to get, meaning it is not right to assume
that the focus of the report is Employee when attributes are selected from both Department and Employee. Report Builder should not make the child entity (i.e., Employee) as the primary entity when the user selects attributes from the child entity after
having selected attributes from the parent entity.
I am sorry to say that clients may not accept the Report Builder tool as this does not fetch the records as desired.
I hope there is someone who can suggest how the outer join problem can be solved by just tweaking the properties of the report model (SMDL).
Besides, the end users are business users and are not tech savvy. They are not expected to modify queries. They would simply drag and drop attributes from entities to create adhoc reports.
Similar Messages
-
Conditions on Outer Joined Tables
I'm trying to understand how Discoverer handles conditions created on outer joined tables. We're using Discoverer Plus 11.1.1.3.
I have a query using two tables connected by an outer join. While I want all records back from the first table, I don't want all records back from the outer joined table. So, if I typed the SQL directly in a SQL Editor, I would put the '(+)' in each condition. However, I find that in Discoverer, sometimes it does this, and sometimes it doesn't. If it does not put the '(+)' on all conditions as well as the join, that essentially nullifies the outer join and makes it an standard join.
For example, I expanded an item on the outer joined table in the Items dialog to see its list of values, and selected one, to add the column to the worksheet and create a condition. No (+). But when I deleted this and created the condition using the Condition dialog, I got a (+). Then I created another condition using the condition dialog. I used the IN operator and pasted in a list (this item had no item class to choose from)--no (+).
When I tried manually adding (+) after the item name in the condition dialog, it put quotes around the whole thing and treated it as a string.
I can find nothing in the documentation that discusses this. Is is possible to control whether or not it uses the (+)?
Thank you, Scott NewmanDear Michael,
Last night I had a call from user who was experiencing a very strange behaviour of her Discoverer workbook.
I replicated the issue on my machine and could not believe my eyes. A condition on an item was being ignored. I then analysed the workbook and realised it was due to a condition on an item from an outer-joined folder. I did not have the strength after a long day to deal with it and was looking forward to having some fun the next day. Firstly, I tried few tricks such as NVL, LENGTH functions in a test query in Toad. I hate to give up but I did and searched threads on this forum and opened few. The very first thread I read was this one and I laughed when I read your advice. Only until the moment I tested it in the troubled workbook. It worked like a charm. I take my hat off to you Michael. I have rarely experienced such a satisfaction when solving a tricky problem during my 9-year-long Oracle Discoverer journey. This goes straight to my little text file with interesting problems and solutions.
Thank you very much. I owe you a beer or two.
It is great to have an expert like you, always ready to share his knowledge with his colleagues.
P.S.
My apologies for this massive post, I could not resist expressing my joy and gratitude.
Jozef Hlavaty -
Illegal selection by InfoObject from outer join table
Hi all,
in any infoset with left-outer-join, when i want to select any field (infoobject) to get exlude conditions i got these errors:
illegal selection by InfoObject from outer join table.
error reading the data of infoprovider '*'.
thanks in advance .
HSHi Dorota,
Choudhary S was right.
İ have notified the SAP about this issue..they wrote me below note :
As SAP tables have no concept for NULL, we
have to restrict this condition to not allow excluding condition to be
used any more. But alternatively, you could use including to replace it.
Please check my last reply to see the detailed reason for it, and
this explaination is from our development colleagues.
For this note 1435772, you could also see why this error message
arises.
So, they said it is not possible in case of left outer join after those patches.
i just used include to replace that exluding condition.it takes little time but the problem is solving.
Thanks
HS -
Problem with XMLTABLE and LEFT OUTER JOIN
Hi all.
I have one problem with XMLTABLE and LEFT OUTER JOIN, in 11g it returns correct result but in 10g it doesn't, it is trated as INNER JOIN.
SELECT * FROM v$version;
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE 11.2.0.1.0 Production"
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
--test for 11g
CREATE TABLE XML_TEST(
ID NUMBER(2,0),
XML XMLTYPE
INSERT INTO XML_TEST
VALUES
1,
XMLTYPE
<msg>
<data>
<fields>
<id>g1</id>
<dat>data1</dat>
</fields>
</data>
</msg>
INSERT INTO XML_TEST
VALUES
2,
XMLTYPE
<msg>
<data>
<fields>
<id>g2</id>
<dat>data2</dat>
</fields>
</data>
</msg>
INSERT INTO XML_TEST
VALUES
3,
XMLTYPE
<msg>
<data>
<fields>
<id>g3</id>
<dat>data3</dat>
</fields>
<fields>
<id>g4</id>
<dat>data4</dat>
</fields>
<fields>
<dat>data5</dat>
</fields>
</data>
</msg>
SELECT
t.id,
x.dat,
y.seqno,
y.id_real
FROM
xml_test t,
XMLTABLE
'/msg/data/fields'
passing t.xml
columns
dat VARCHAR2(10) path 'dat',
id XMLTYPE path 'id'
)x LEFT OUTER JOIN
XMLTABLE
'id'
passing x.id
columns
seqno FOR ORDINALITY,
id_real VARCHAR2(30) PATH '.'
)y ON 1=1
ID DAT SEQNO ID_REAL
1 data1 1 g1
2 data2 1 g2
3 data3 1 g3
3 data4 1 g4
3 data5 Here's everything fine, now the problem:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
"CORE 10.2.0.1.0 Production"
TNS for HPUX: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
--exactly the same environment as 11g (tables and rows)
SELECT
t.id,
x.dat,
y.seqno,
y.id_real
FROM
xml_test t,
XMLTABLE
'/msg/data/fields'
passing t.xml
columns
dat VARCHAR2(10) path 'dat',
id XMLTYPE path 'id'
)x LEFT OUTER JOIN
XMLTABLE
'id'
passing x.id
columns
seqno FOR ORDINALITY,
id_real VARCHAR2(30) PATH '.'
)y ON 1=1
ID DAT SEQNO ID_REAL
1 data1 1 g1
2 data2 1 g2
3 data3 1 g3
3 data4 1 g4As you can see in 10g I don't have the last row, it seems that Oracle 10g doesn't recognize the LEFT OUTER JOIN.
Is this a bug?, Metalink says that sometimes we can have an ORA-0600 but in this case there is no error returned, just incorrect results.
Please help.
Regards.Hi A_Non.
Thanks a lot, I tried with this:
SELECT
t.id,
x.dat,
y.seqno,
y.id_real
FROM
xml_test t,
XMLTABLE
'/msg/data/fields'
passing t.xml
columns
dat VARCHAR2(10) path 'dat',
id XMLTYPE path 'id'
)x,
XMLTABLE
'id'
passing x.id
columns
seqno FOR ORDINALITY,
id_real VARCHAR2(30) PATH '.'
)(+) y ;And is giving me the complete output.
Thanks again.
Regards. -
ipod nano 7th generation having issues with the UI. Out of box everything worked great. Once I snyc the device and it finished, the UI becomes unuesable. You have to double tap every icon in order to open music, videos, etc. I cannot swipe to the second page of icons, black box appears around an icon and then switches to a different one anytime I swipe. A box even appears around the time and battery power. iPod & iTunes are both updated. What is the FIX on this issue?
I had this problem as well. This is what I found by searching online. I tried the fix on my nano 7th gen and it worked. I hope this helps you. Make sure to use two fingers for sliding and double-click the icons to get into settings. Good luck.
It would seem that Voiceover has been enabled on your iPod Nano. The following article contains information regarding Voiceover, and how to disable it once it's been enabled.
iPod nano (6th generation and later): How to use VoiceOver
http://support.apple.com/kb/HT4317
To turn off VoiceOver on iPod nano using VoiceOver gestures
From the Home Screen, swipe right or left with two fingers until you see or hear "Page 2 of 2" on iPod nano (7th generation) or "Settings" on iPod (6th generation).
If the icons have been rearranged, or if there are more than four Home screens, you may hear something different.
Slide one finger around the screen until you hear Settings.
Double-tap to open Settings.
Slide your finger up or down the screen until you see or hear General, then double- tap.
Slide your finger up or down the screen until you see or hear Accessibility, then double-tap.
Slide your finger up or down the screen until you see or hear VoiceOver, then double-tap.
Double-tap when you hear "VoiceOver switch button on."
You'll hear "VoiceOver off" to confirm the setting. Now you can use standard gestures to control iPod nano.
Note: You can also turn off VoiceOver by resetting your iPod. -
Is anyone else having issues with Lightening cables wearing out fast
Is anyone else having issues with Lightening cables wearing out fast
It does happen. Search Google and you will find many instances.
-
Issue with parameter/filter - trying to display null rows
This is how my data looks in the database
Order_ID ----- Vendor
ID123 NULL
ID234 ABC
ID456 NULL
ID001 CDE
I want to create an SSRS report with a filter for vendors
*All Vendors should be checked off by default
*Users should be able to select multiple vendors
So I started by creating the VendorDataSet, the query looks like
SELECT VendorName
FROM Vendor
WHERE Active = 1
*This query will return all active vendors stored in my vendor table
Then, I created my parameter @prmVendor and it looks like:
-Data Type: Text
-Allow blank value("")
-Allow multiples values
Available Values:
-Dataset: Vendor
-Value field: vendor_name
-Label field: vendor_name
The main query of the report looks like
Select Order_ID, Vendor
FROM Order
LEFT JOIN Vendors
ON Order.VendorID = Vendor.ID
WHERE Vendor IN (@prmVendor)
So at this point it does what is supposed to do except - that when I run the query with all the vendors selected,
the query will only return the ones with vendors populated.
Order_ID ----- Vendor
ID234 ABC
ID001 CDE
I've tried adding the following to my VendorDataSet:
SELECT VendorName
FROM Vendor
WHERE Active = 1
UNION ALL
SELECT '' -- I've also tried SELECT NULL
But when I run the report and look at the list of vendor displayed - it won't show the empty row in the vendor drop down filter
thus, my main query will ignore the orders with no vendors.
Any ideas on how to fix this issue?
-AlanSo I changed my VendorDataSet to look like this:
;WITH cteVendors AS (
SELECT VendorName
FROM Vendor
WHERE Active = 1
UNION ALL
SELECT ''
SELECT (CASE WHEN Vendor IS NULL THEN '' ELSE Vendor END) AS VendorName
FROM cteVendors
This allowed me to show an empty box in my drop down filter see link for
image
Is there a way to make some changes to my main query so this works? so if the user was to select the blank box the query will return something like :
Order_ID ----- Vendor
ID123 NULL
ID456 NULL
-Alan -
Issue with Multiple LTS for a fact table and filters
Hello,
I am facing an issue with obiee 10g.
In my model, I have a huge FACT table F1 (partitioned and indexed). The average response time for the queries, which targeted it, was ~30-60 seconds, which was not really convincing our end user.
So, we decided to create a materialized view, which removes some dimensions that are not used by default, but might be used if the end user adds some filters. I added the Materialized view in the Physical Layer and in the corresponding Logical Table Source.
I then tried to see if it works, but I was a bit surprised by the result. Indeed,
-> If the report does not reference a truncated dimension, it targets the materialized view. -> Perfect
-> If the report does reference a truncated dimension in the columns, it targets the Fact Table. -> Perfect
-> If the report does reference a truncated dimension in the Filters, it targets the materialized view. For this reason, the filter is never resolved and no join on the dimension table is applied, whereas it exists in logical SQL generated. -> Ko.
A suggestion could be to add the filters into the columns, but I am not satisfied by this response because it will never use the materialized view in that case.
An other suggestion could be to use query rewrite, but I 'd like to have the full control on the generation of the queries.
Does someone know if the filters are not evaluated to determine which LTS to use? How can I force this evaluation?
Regards,Hi,
If I understand your description correctly, then your materialized view skips some dimensions (infrequent ones). However, when you reference these skipped dimensions in filters, the queries are hitting the materialized view and failing as these values do not exist. In this case, you could resolve it as follows
1. Create dimensional hierarchies for all dimensions.
2. In the fact table's logical sources set the content tabs properly. (Yes, I think this is it).
When you skipped some dimensions, the grain of the new fact source (the materialized view in this case) is changed. For example:
Say a fact is available with the keys for Product, Customer, Promotion dimensions. The grain for this is Product * Customer * Promotion
Say another fact is available with the keys for Product, Customer. The grain for this is Product * Customer (In fact, I would say it is Product * Customer * Promotion Total).
So in the second case, the grain of the table is changed. So setting appropriate content levels for these sources would automatically switch the sources.
So, I request you to try these settings and let me know if it works.
Thank you,
Dhar -
How do I find missing entries in outer join table?
Hi all,
I am trying to find records in table1 that are missing in table2. This is a simple process in SQL, but ABAP is giving me trouble. I want to do this using an outer join.
Example:
Select table1~docnumber
From table1
Left Outer Join table2
On table1docnumber = table2docnumber
Where table2~docnumber IS NULL. (the record is missing in table2)
Note: ABAP gives an error and wants me to use the Having Clause, which is ok, but then ABAP wants me to use Group By, which ok, but then I still get the same syntex error.
Any thoughts on doing this with the outer join and is null options. I do not want to select into two internal tables and compare them.All,
I am not trying to do a subquery. Just a simple outer join where I know some records are missing in the second table.
Here is the code:
select eban~banfn
into table i_delay_banfn
from eban
left outer join zsmt_prdelay_upd
on eban~banfn = zsmt_prdelay_upd~banfn
where zsmt_prdelay_upd~banfn IS NULL.
Here is the error message:
No fields from the right-hand table of a LEFT OUTER JOIN may appear in
the WHERE condition: "ZSMT_PRDELAY_UPD~BANFN".
select eban~banfn
into table i_delay_banfn
from eban
left outer join zsmt_prdelay_upd
on eban~banfn = zsmt_prdelay_upd~banfn
having zsmt_prdelay_upd~banfn IS NULL.
Please use code tags
Edited by: Rob Burbank on Mar 5, 2009 12:20 PM -
Translating SQL from MYSQL to ORACLE with more than one outer join.
I will translate the following sqlquery from MYSQL to ORACLE:
SELECT ticket.ticket_no,ticket.ticket_dato,ticket.ticket_subject,ticket.customer_id,customer_name,ticket.ticket_own_read, ticket.department_id, department.department_name, priority_name, tickstat_name, tickettype_name
FROM customer, ticket left join department
on ticket.department_id = department.department_id left join priority on ticket.priority_id = priority.priority_id
left join ticketstatus on ticket.tickstat_id = ticketstatus.tickstat_id
left join tickettype on ticket.tickettype_id = tickettype.tickettype_id
where ticket.customer_id = customer.customer_id and customer.owner_id =
#session.owner_id#
I have tried in ORACLE with:
SELECT ticket.ticket_no,ticket.ticket_dato,ticket.ticket_subject,ticket.customer_id,customer_name,ticket.ticket_own_read, ticket.department_id, department.department_name, priority_name, tickstat_name, tickettype_name
FROM customer, ticket ,department, priority, ticketstatus, tickettype
where
ticket.department_id(+) = department.department_id and
ticket.priority_id(+) = priority.priority_id and
ticket.tickstat_id(+) = ticketstatus.tickstat_id and
ticket.tickettype_id(+) = tickettype.tickettype_id and
ticket.customer_id = customer.customer_id and customer.owner_id = #session.owner_id#
I get an error:
MERANT][ODBC Oracle driver][Oracle]ORA-01417: a table may be outer joined to at most one other table
How do I translate the code to ORACLE?I think that your syntax is wrong. The (+) operator should be on the right hand table column, not the left hand table column if you want all rows on the left hand table column. If this syntax is really what you want, you can create underlying views for each join condiction.
-
EJB Issue with return empty children in join fetch query
I'm a newbie and still trying to learn all of the facets of EJB 3.0 (and other backend capabilities) however could not find this issue anywhere resolved.
I have a recursive table which has a 0,1-n relationship with itself. In this case, I want to query for all objects and fetch the resulting children.
To do this I have written the following query:
select o from Node o inner join fetch o.childrenNodeList order by o.nodeorder
If my database has the following entries:
Parent
Child
Grandchild
The above query will get all 3 and allow me to access the list of children through getChildrenNodeList, however, for Grandchild this returns "An attempt was made to traverse a relationship using indirection that had a null Session...." for Parent and Child however it works like it should and gets the fetched rows.
Is there a way for me to either:
1. Modify the query so that the getChildrenNodeList will return a 0 sized array (so I can test for no children)
2. Modify the getter such that I can check that the parent really has no children and not some issue with the query
Thanks for any help,
Krisfixed
-
Any known issues with SQL DB Link Synonyms joining on encrypted columns
Are there any known issues with accessing encrypted columns via a database link that is masked by a synonym?
We are experiencing unexpected results when the encrypted column is anti-joined through a not exists, to a local encrypted column of the same datatype The encrypted columns are person ids. If the expected person id is hard coded, the results return correctly. The local database is 10.2.0.4.0 and the link is to a 10.2.0.3.0 RAC.
Both enrollments and person_ids, below, are synonyms to the linked tables.
... From table_1 d
where ...
AND NOT EXISTS (SELECT 1
FROM enrollments x,
person_ids p
WHERE x.person_demo = p.person_demo
AND x.rept_inst = d.rept_inst
AND x.demo_time_frame = d.term_deg_grant
AND p.person_id_encrypted = '999999999')
vs.
... From table_1 d
where ...
AND NOT EXISTS (SELECT 1
FROM enrollments x,
person_ids p
WHERE x.person_demo = p.person_demo
AND x.rept_inst = d.rept_inst
AND x.demo_time_frame = d.term_deg_grant
AND p.person_id_encrypted = d.person_id_encrypted)milazzo74 wrote:
I am having the same problem...
http://www.milazzo.com.br/teste/projetos.php
It works fine in Firefox but loads forever in explorer 8...
The cause of the problem is not the same.
In your case it takes forever to load the thumbnails from flickr.com; the SpryDataSets without the loading of the thumbnails works as expected.
Remember that ALL of the thumbnails for each 60 odd projects are downloaded from flickr, that is about 1800 thumbnails.
Gramps -
Issues with Agents being logged out.
All the agents on aperticular PIM were logged out and could logback in after approx 7 minutes.Wheni check teh CTIOS logs now its full of the below error message
12.333 ClientMgr[1]::DistributeEvent(eOnNewSkillGroupStatisticsEvent), FAILED to find
Client[0006].
Can you please let me know if this is service affecting or its something critical ?-We are seeing issues with agents trying to log in and getting timeout errors, taking 3-5 times to actually login/JTAPI errors. Supervisor application is having the same issues. We have full IP Visibility from all subnets. The CUCM/CCX servers were put in last August, and we had zero issue up until the past few weeks. Ive validated the agent settings, JTAPI users etc and Ive rebooted the UCCX server as well
-
Hi,
We are facing one issue with Shop with Default (Limit items) in ECC.
In basic data tab, if any value is entered in any field and press enter then that value is not getting reflected in that field. But if we enter the value and click on check then that value get reflected .
The reason is BBP_DOC_CHANGE_BADI is not get triggered if we press only enter but it gets triggered if click on check.
We also tested in Classic case , its working fine in Calssis case.
Do you have idea for this?
Do you know any note that we have to apply for ECC?
Thanks in Advance.
SnehalThe lineitems and such will always be saved with English values. You are supposed to for display purposes, re-lookup the product in the appropriate language when you display it on the cart and what not.
Brad Foley | www.blfoley.com |
www.darklakesoftware.com -
I am having a really hard time applying the filter "Brush Strokes -> Angled Strokes" to a colored box, whether it's just a selection or a rectangular box.
I did this once and it worked (i.e. The box kept the same color and the correct filter was applied to it), but now I am trying to do it with a different box, whenever I access the Filter Gallery with the box selected, the color remains flat, even with the filter in question highlighted. I've tried everything I can think of, but it just seems like a weird glitch.. First time it worked, now it doesn't. Any idea what could be causing this?
Thanks a lot in advance.New shapes on new layers don't have any layer styles for me. I don't recall running across an option for applying layer styles to new shapes.
Is it possible you're drawing pixels on the same layer? Layer styles are applied equally to whatever's on the entire layer.
As far as I know, new layer styles use whatever defaults you explicitly set for them. There are buttons such as the one shown below for setting your own default.
The [ ] Use Global Light feature is a bit special in that it uses one global angle for all layer styles (change any one and they all change) - the idea being that things look better when the shadows and highlights all imply the light is coming from the same direction.
Can you describe a specific case where the default you set isn't being used? I'll be happy to try to reproduce it.
-Noel
Maybe you are looking for
-
Open report with "Save as" and "Open with" dialogue
Hi, I'm using jasper reports within my application. I manage to open them in a new window but in that case the url containing JasperServer username and password is shown. I would like to open the report without showing the url. I tryed using a databa
-
Installed ITunes 8 - entire music library lost - hangs if I try to add fold
I just installed iTunes 8 after having been prompted to do so. When I first opened it the app started to render my album covers, and then stopped. I was curious about the genius feature, so I enabled that, and it said it was active, but then nothing
-
Ldap programming: Admin Reset Password Attribute
Hi, I would like to write a program to reset the user password by a administrator such that the user will get a return code 2 "password is reset by admin" to notify the user to change his password. I know attribute password of a user in Directory Ser
-
Possible to sync iPhone to work and home computer
I am new to the iPhone thanks to Verizon. I have an iTunes account on my home laptop that I have been using forever- it has all my movies, shows music etc. I am wondering if there is a way to load some of this content on my iPhone, AND still sync the
-
In sending email remittance to vendor can we use SAP Script or is it should be only PDF Form? Please let me whether it is mandatory to use smart form other than sap script cheers