Percent of Total Report
We have a requirement to create a report with Grand Total and % of Total.
Cat1 Cat2 Row Total PCT of Total
Type1 30 10 40 26.67%
Type2 20 50 70 46.67%
Type 3 10 30 40 26.67%
Column Total 60 90 150 100.00%
PCT of Total 40% 60% 100%
Here Row Total and Column Total can be achieved as Row aggregation and Column aggregation in a pivot table.
PCT of Total at Row level needs to be Row Total/Overall Total.
Eg 40/150 =26.67%
Is there a way to achieve this in OBIEE?
Thanks
Ann.
group 1: 19.5
group 2: 148.4
actual Grand Total: 347.48
Then there are at least 3 groups. You don't say. So, how many
groups are there altogether?
Similar Messages
-
Has any one figured out how to create a Percent of Total Member Dynamic Calc that could keep track of the Percent of Total without doing this in the reporting tool?For Example: ACT Percent of TotalCookies Jan 10 %10 Feb 20 %20 Mar 70 %70 2001 100 %100
Presuming that Actual is a member of the Scenario dimension and that Total Cookies is a dimension, I would probably create another member in the Scenario dimension and put the following formula against it:Actual%Actual->"Total Cookies";This would have to be dynamic calc to work.
-
Grand total (Report footer) issue in a Report with Group selection.
Hi,
The case is simple, i have to summrise the NetValue field of a report at the Group level and at the Report level(Grand Total).
I also use a Group selection filter (I have grouped my records by MaterialDesc) to keep the desired groups.
As you already guessed, my group totals are fine but the grand totals(report footer) contain both filtered and non filtered group records. Is there any way to avoid this problem and get a Grand Total from the filtered group records?
Thank you.You can not use standard summaries with Group Suppression you must use either Running Totals or variables.
In Running Total evaluate click theformual button and eneter reverse condition to your group suppression.
If you can not do that then you must use a Var
In group footer where total is currently correct place a formula like this and suppress it
@eval
whileprintingrecords;
global numbervar RepTot;
If ..whatever your suppression condition is not true... then reptot:= reptot + sum( valuefield, groupfield);
In report footer
@display
whileprintingrecords;
global numbervar RepTot;
Ian -
Exluding lowest level dimensionmembers from a total report.
Hi,
I know this thread might belong in the Discover part of the forum, but based on previous experience it seems that Discoverer for OLAP help is difficult to come by in that part. Also I think this quickly might end up with being a bit more OLAP technical.
To the issue:
Say that you have a sales cube with 3 dimensions, time, product and customer.
The customer dimension has three levels with one standard hierarchy in the following order: Total, customerclass and customertype.
For the lowest level there is a customertype member thats named "internal". This means that all employees buying from their own company with a special discount is placed under this member.
Now to the report:
Using discoverer for Olap, management want two total reports. One where the Internal member is included, and one where it is excluded. This meaning that the initial report should just show the total levels for all dimensions, just with different totals.
Now I thought of just not include the internal member when you choose different dimensions in the query builder, but as far as I know this would only work for the lowest level. Total and customerclass would still show sums that include the internal level since the cube has aggregated these levels in advance.
Does anyone a way to work around this?
some cube facts:
database version 10.2.0.3. with the OLAP A patch
cube compressed and partitioned along month, fully aggregated for all levels(except year).
regards RagnarRangar,
Simplicity is in the eye of the beholder, but you should be able to make it work. The details will depend on your source mapping, but I will assume that you have a single dimension star table with three columns, one per level.
CREATE TABLE CUST
Total varchar2,
CustomerClass varchar2,
CustomerType varchar2
I'll assume further that the member 'INTERNAL' appears as CustomerType. Define a VIEW on top of the table like this.
CREATE VIEW CUST_VIEW AS
SELECT *
FROM CUST
WHERE CustomerType != 'INTERNAL'
Now create two new levels
TOTAL_EXTERNAL
CUST_CLASS_EXTERNAL
Create a new level hierarchy, EXTERNAL_HIER say, that includes the two new levels along with the existing CustomerType level.
TOTAL_EXTERNAL
CUST_CLASS_EXTERNAL
CUSTOMER_TYPE
Note that even though the CUSTOMER_TYPE level appears in two hierarchies, the members in that level can vary be hierarchy. This is important since it means you do not have to reload the leaf data for the cube.
Now map the new hierarchy to the three key columns in CUST_VIEW. To do this correctly you need to switch to the "Snowflake Schema" view on the AWM mappings tab. This allows you to explicitly set the parent column for each hierarchy. So, in your new EXTERNAL_HIER hierarchy the parent of CUSTOMER_TYPE is CUST_VIEW.CustomerClass. In your old hierarchy, INTERNAL_HIER say, the parent of CUSTOMER_TYPE is CUST.CustomerClass. If you don't switch to the "Snowflake Schema" view then you will end up with null values for the parent dimension. (I just wasted 45 minutes discovering this fact.)
You now have two hierarchies and five levels. Your aggregation strategy for the cube should reflect this in some way. If you want full pre-aggregation, then you will need to add the two new levels to the cube. If not, then you are probably set.
David -
Percent of total and percent of completion?
would anyone mind helping me with which equations to use for a "percent of total" and percent of completion equations?
i have a total amount and i would like to list the various items that make up this total in chronological order so i can see the percentage in percentage and in actual dollars but also as a "percent completion" in percentage and in real dollars.
i am envisioning something like this for percent - percent completion - dollars per item - dollars per completion
line 1 1% 1% $1 $1
line 2 2% 3% $2 $3
line 3 97% 100% $97 $100
total 100% $100
i am a little new to this so any suggestions will help a great deal.
THANKShi barry.
thank you.
i have a construction budget with - say - 18 items. these 18 items go chronologically from start to finish for the construction. i would like to show what percentage of the total budget each item is (percent of total dollars i guess) but i would also like to sum up the "percent completed" for each line item so that when you looked at the results for - say line 8 - you could see that you were X% completed for the whole project in terms of the total dollars allotted for the whole project (100%).
what i was envisioning was that it would be possible to do this both in terms of a number for the /percent/ of each of these but also in terms of a /dollar/ amount for each of these.
one set would be the individual line item and the other set would be added up as you went down the list and completed the work.
THANKS -
Credit Check Total reporting question
I have a question about Credit Check Total reporting a late. I have been working very hard to rebuild my credit. So I am paying very close attention to how I pay my bills. My question is this According to Credit Check Total I had a late payment 18 months ago on EXP and EQ. I know I haven't been late on anything in almost 4 years. I do have several cc chargeoffs from 2010 and early 2011 that still show balances and have been gradually one by one settling or paying these off. So I guess it's possible one of these has reported the account and makes it look like a new late, But then again I wasn't able to start doing this till bout 6 months ago. So IDK. My problem is I can't figure out where the late is coming from. Anyone got any ideas on how to spot this. I will take any and all suggestions on how to find it.
NormanFH wrote:
alottacards wrote:
RobertEG wrote:
An account that has been charged-off is, by definition, seriously delinquent.The fact that they charged-off the debt does not end their ability to report prior or add new delinquencies. If a delinquency is reporting, does it not show a month/year?Have you inquired with the creditor? RobertEG I have read enough on here to know absolutely you are right. My problem is I can't seem to find the late Probably can't do anything about it either way. I would just like to be able to put my finger on what it is. I have looked at the last reporting date of each of them, the last date before chargeoff, the chargeoff date, nothing matches 18 months agl. I'm perplexed. It;s just one of those weird things that is on my brain because I can't figure it out. LOLOK, looking at my CCT page I think I know what you're seeing. It's on the overview page where it lists whats affecting your credit, correct? In mine for instance it says "Time since late" and then "4 months". I know that there are no late payments from 4 months ago, however there ARE collection accountsthat updated that recently. I think that is what you are seeing is not a late payment, but rather collection or other derog that last updated 18 months ago.Yep, that's exacly what I see, Just wish I knew what it was. Don't like not knowing. Oh well, I'm gonna just keep doing what I'm doing. Keeping Util low,. Paying on time and continuing to pay for old debts. Thankyou for taking the time to help -
Hi
Im trying to display the cost parts share in percent of the total cost. in normal cases i would use the Scope argument to divide the cost parts against total cost but this time i have no sumaraized level for total cost to use as Scope
parameter. Is it possible to open a new column where i divide the sum of landinvestment 1 768 with Total Project cost 16237 in some way and how the code for doing that?
Br Arne
Arne OlssonHi Arne,
According to your description, you want to calculate the cost percentage of total cost without having a total row in your tablix. Right?
In Reporting Service, we can specify scope (dataset/group) when using aggregation functions. In this Scenario, if we don’t have any scope to group that three items, it’s impossible to get the total cost of them. At least we should have a parent group/dataset
for that three items, so we can use the group/dataset name as scope in aggregation function. We tested this case in our local environment. Here are screenshots:
Reference:
Aggregate Function (Report Builder and SSRS)
If you have any question, please feel free to ask.
Best Regards,
Simon Hou
-
AWM Calculated Measure for Percent of Total Across Multiple Dimensions?
I noticed that AWM has a Share function that gives me a percent total of a grain from a specific hierarchy's Top of Hierarchy, but is there any way to do that with multiple dimensions? For example, if I had a Share of Dimension X = 55% Where Time = 1/1/2013 and a Share of Dimension Y = 32% Where Time = 1/1/2013, then could I have a Share of both Dimension X and Dimension Y = 16% Where Time = 1/1/2013?
I had used an alternate solution which is a bit more cumbersome using native OLAP_DML formulae/expression.
The above expression using OLAP Expression Syntax is much better (if it works).
I was not aware of this OLAP expression syntax when i needed to create a kpi for similar requirement.
We had Qty measure and Share along dimension like "Qty - Share at Year level", "Qty - Share of Total Customer".
We needed to get "Qty - Share at Total Customer, Year".
Cube= SALESCUBE
Base Meas = QTY
Step 1) Create Measure which represents "Qty - Total Customer, Year" which will work in any reporting context ...
Note: For time=day1/2/3/ within same year and customer=cust1/2/3/... or Total Customer, the expression result will be constant (result fixed for any dimension members/status along the 2 dimensions - TIME and CUST). Denominator Value changes each year since we have constrainted time dimension to the ancestor of current cell at YR level. If we choose anscestor at TOP level TOTTIME say then the value is fixed for all time dimension members/values.
olap dml expression: QUAL(SALESCUBE_QTY, CUSTOMER limit(CUSTOMER to CUSTOMER_LEVELREL 'TCUST'), TIME limit(limit(TIME to ANCESTORS USING TIME_PARENTREL TIME(TIME TIME)) KEEP TIME_LEVELREL eq 'YR'))
in awxml - this becomes:
ETMeasureColumnName="QTY_TCUST_YR"
Name="QTY_TCUST_YR"
MeasureExpression="OLAP_DML_EXPRESSION('QUAL(SALESCUBE_QTY, CUSTOMER limit(CUSTOMER to CUSTOMER_LEVELREL ''TCUST''), TIME limit(limit(TIME to ANCESTORS USING TIME_PARENTREL TIME(TIME TIME)) KEEP TIME_LEVELREL eq ''YR''))', NUMBER)">
<Classification
Value="AwmDescriptionType=OLAP_DML_CALC"/>
<Description
Type="LongDescription"
Language="AMERICAN"
Value="Qty - Total Customer, Year">
Step 2) Define the share measure explicitly since we have already calculated the denominator needed for composite share.
Check for division by 0 error before performing the share calculation explicitly as Numerator= Qty (for current cell/reporting context) and Denominator = Qty - Total Customer, Year (from Step 1)
olap dml expression: if SALESCUBE_QTY_TCUST_YR ne 0 then SALESCUBE_QTY / SALESCUBE_QTY_TCUST_YR else na
in awxml - this becomes:
ETMeasureColumnName="QTY_SHARE_TCUST_YR"
Name="QTY_SHARE_TCUST_YR"
MeasureExpression="OLAP_DML_EXPRESSION('if SALESCUBE_QTY_TCUST_YR ne 0 then SALESCUBE_QTY / SALESCUBE_QTY_TCUST_YR else na', NUMBER)">
<Classification
Value="AwmDescriptionType=OLAP_DML_CALC"/>
<Description
Type="LongDescription"
Language="AMERICAN"
Value="Qty - Share of Total Customer, Year">
</Description>
Report needs to use measure QTY_SHARE_TCUST_YR (Qty - Share of Total Customer, Year) defined in Step 2. It may be useful to expose/display intermediate measure QTY_TCUST_YR also so as to make the basis of calculation very clear to the user.
Nick,
If you customize above soln. to use Total Time, Total Prod and Total Organization (along 3 dimensions)... I am sure the fact table has a time dimension which should also be factored in in your calc/defn.
If you have missed out the join to Time dimension from fact in your queries, in olap reporting terms, its similar to Time Dimension selection of Time level = TTIME Total Time (1 node at TOP).
You need:
Step 1) Qty - Total Time, Total Product and Total Org
Step 2) Qty - Share of Total Time, Total Product and Total Org
Then the example you gave should be covered via QTY and QTY_SHARE_TTIME_TPROD_TORG (Step 2)
SUM(quantity)
2875should be QTY, QTY_SHARE_TTIME_TPROD_TORG (=100%) at Time level = TTIME, Product level = TPROD, Org level = TORG
SUM(quantity)
345 [12% of all products sold]should be QTY, QTY_SHARE_TTIME_TPROD_TORG (=12% hopefully) at Time level = TTIME, Product level = PROD with report filter on product = 'CX-867054', Org level = TORG
SUM(quantity)
977 [34% of all products sold]should be QTY, QTY_SHARE_TTIME_TPROD_TORG (=34% hopefully) at Time level = TTIME, Product level = TPROD, Org level = STORE with report filter on store = 'NY_ALBA_013'
SUM(quantity)
88 [3.06% of all products sold]should be QTY, QTY_SHARE_TTIME_TPROD_TORG (=3.06% hopefully) at Time level = TTIME, Product level = PROD with report filter on product = 'CX-867054', Org level = STORE with report filter on store = 'NY_ALBA_013'
HTH
Shankar -
hi ,
i have done a report and the user wants to see only the subtotls calculted on a paticular filed
eg : in grid sub totals are calculated based on the month
now he matnr wants to see only sub totals on the for the materialsin the output grid.
can any help me out .Hi,
you can write logic like below.
1. Assume your internal table is like follows
DATA: BEGIN OF ITAB OCCURS 0
MATNR TYPE MATNR,
FIELD1 TYPE FIELD1,
QTY TYPE FIELD2,
END OF ITAB.
Field MATNR should be defined as a first field in the data definition.
2. Get the data from tables using SELECT statements
3. Print the subtotals only using the below logic.
LOOP AT ITAB.
AT END OF MATNR.
SUM.
WRITE:/ ITAB-MATNR, ITAB-QTY.
ENDAT.
ENDLOOP.
Thanks
Ramakrishna -
How to find total report based on a particular subject area in OBIEE?
Hi Everyone,
I am new to OBIEE. I want to find out all the reports based on a particular subject area as there are many subject areas and lot of reports in OBIEE.
Please help me out in this issue.
Thanks
Regards
Sohail DayerSohail,
Check out the catalogue manager reports :
http://oraclebizint.wordpress.com/2007/11/19/oracle-bi-ee-catalog-reports/
If you want this kind of thing automated, I personally am very fond of the ODI -> OBIEE Data lineage solution as provided in Oracle By Example tutorials :
http://www.oracle.com/technology/obe/fusion_middleware/odi/OBI-ODI_Lineage/OBI-ODI_Lineage.htm -
Hello, everyone
I have the following simple business question at hand: Show top ten merchants with the highest sales numbers in the region and their percentages of total sales in the region.
It looks simple, but I'm not sure if it's possible to implement in OBIEE short of writing direct query.
I would really appreciate some ideas because I am out of those at the moment.
I am using OBIEE 10 over Oracle 10g.
Thank you,
RitaPerfect! Thank you, David, this is exactly what I was looking for - how to calculate higher-level aggregates in a request. Is there any documentation on the OBIEE logical SQL, or these forums are the only source of information?
-
100% CPU Load is reported through SNMP - renders monitoring useless.
I have an issue with the JVM using 100% single core/thread on EMGC server
/usr/java/jdk1.6.0_18/bin/java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=512m -Dweblogic.Name=EMGC_OMS1 -Djava
does anybody know how to configure JVM for EMGC_OMS1 ? to use more cpu cores and RAM ?? -
Rounding of a total with a percent calculation
Post Author: jdomkus
CA Forum: Formula
I have a sales field that is taking .10 of the total and placing that total into a new field. This figure is then being used in a total calculation with other values. My problem is the calculation is not being handled correctly due to the percent field total (This is complex to explain but easy to show in a example.
total sales = .25 (Cents) This total is being multiplied by .10 to figure out 10% of the total sales = .03 (This calculation is correct)
Then when I go to subtract .25 - .03 = .23 (Which is not correct, rounding is set to 0.01 on the field)
I have this report in 8.5 with all the patches and I have also download crystal report 11 with the same result, Any help would be appreciatedPost Author: SKodidine
CA Forum: Formula
For Total Sales, try
round(0.25 * 0.10,2)
Then when you subtract it from 0.25 it should give you 0.22 instead of 0.23. -
Report totals for non-numerical data
Hello all,
I am trying to update a site for an auto shop. The site is in PHP, MySQL.
What they have in the database is records for each customer that comes in to their shop. So, they will have John Q. Public having multiple entries for the date he came in, and what was done to the car. They want a report that will display the totals for each item that John Public has had done.
So for example the report would be displaying the following:
breaks oil change shocks tune up total visits
John Public 2 4 0 2 8
Jack Private 1 6 4 8 19
The database has this information in it to get the above report:
Name Date Work Cust. Review
John Public 02-05-2007 breaks satisfied
John Public 03-15-2008 breaks satisfied
John Public 01-09-2008 oil change satisfied
Is there a way to do this?Well, I have done a lot of playing around, and got it to work. Although, I don't completely understand why it works. If someone would be kind enough to give me some insight, I would greatly appreciate it. I have not done JOINS in the past, so I'm trying to learn.
This is what I had originally:
<?php
//Query the unique works to generate the headers
$query = "SELECT DISTINCT reason FROM `call_log` ORDER BY reason";
$result = mysql_query($query) or die(mysql_error());
while($record = mysql_fetch_assoc($result))
$reasons[] = $record['reason'];
//Start the report table including headers
$report = "<table width=\"75%\" cellpadding=\"5\" cellspacing=\"5\" border=\"1\">\n";
$report .= " <tr><th>Store</th><th>" . implode('</th><th>', $reasons) . "</th></tr>\n";
//Query the records
$query = "SELECT t2.location, t2.reason, COUNT(t1.reason) as total
FROM (
SELECT tt1.location, tt2.reason
FROM (SELECT DISTINCT location FROM `call_log`) tt1,
(SELECT DISTINCT reason FROM `call_log`) tt2) t2
LEFT JOIN `call_log` t1
ON t1.location = t2.location AND t1.reason = t2.reason
GROUP BY t2.reason, t2.location
ORDER BY t2.location, t2.reason";
$result = mysql_query($query) or die(mysql_error());
And this is what I changed it to:
<?php
//Query the unique works to generate the headers
$query = "SELECT DISTINCT call_log.reason, call_reason.reason_id, call_reason.reason
FROM call_log LEFT JOIN call_reason
ON call_log.reason = call_reason.reason_id
ORDER BY call_log.reason";
$result = mysql_query($query) or die(mysql_error());
while($record = mysql_fetch_assoc($result))
$reasons[] = $record['reason'];
// Query to get the top headers to have the correct column span
$query = "SELECT COUNT(*) AS reason_id FROM call_reason";
// Execute Query for the correct column span
$result = mysql_query($query);
// Get the result of query named count
$count = mysql_result($result,0);
//Start the report table including subheaders for the reason totals
$report = "<table width=\"75%\" cellpadding=\"5\" cellspacing=\"5\" border=\"1\">\n";
$report .= " <tr><th style=\"border-color:#000;\">Store</th><th colspan=\"$count\" style=\"border-color:#000;\">Reasons for the Call</th></tr>\n";
$report .= " <tr><th></th><th>" . implode('</th><th>', $reasons) . "</th></tr>\n";
//Query the records
$query = "SELECT t2.location, t2.reason, COUNT(t1.reason) as total
FROM (
SELECT tt1.location, tt2.reason
FROM (SELECT DISTINCT location FROM `call_log`) tt1,
(SELECT DISTINCT reason FROM `call_log`) tt2) t2
LEFT JOIN `call_log` t1
ON t1.location = t2.location AND t1.reason = t2.reason
GROUP BY t2.reason, t2.location
ORDER BY t2.location, t2.reason";
$result = mysql_query($query) or die(mysql_error());
It's the first section of:
$query = "SELECT DISTINCT call_log.reason, call_reason.reason_id, call_reason.reason
FROM call_log LEFT JOIN call_reason
ON call_log.reason = call_reason.reason_id
ORDER BY call_log.reason";
$result = mysql_query($query) or die(mysql_error());
while($record = mysql_fetch_assoc($result))
$reasons[] = $record['reason'];
that I'm wodering about. Since I didn't realize that I defined the vairable for call_reason.reason how did it know to display the data from that field? I know I joined the tables, but why would it not display the call_reason.reason_id?
Thank you very much. -
Examples of chart in the report column like monitor activity page
Hello,
Can anybody help me how to create a report having chart as one of the column in the report like Administration->Monitory Activity pages.
I have a report having columns like date, salesman, collection%.
The collection% must be displayed as bar chart showing % in the report column itself.
I searched a lot and end up with no examples found for this kind of example.
Any help will be appreciated.
Thanks,First of all, it appears that there is no "HTML EXPRESSION" or an area to assign a CSS class to a column for interactive reports. I've even tried to use "COMPUTE" on an interactive report to introduce the <DIV> tabs and style, but that doesn't seem to work either. So If you're using an interactive report, it looks like you're out of luck.
But if you use a standard report, here is a quick example using the standard Demo tables on an interactive report. I'll do my best to describe what I'm doing step by step.
The query I'm using is a simple list of employees that shows the following columns:
<ul>
<li> EMPNO
<li> ENAME
<li> JOB
<li> SAL
<li> COMM
<li> COMM / (SAL + COMM) *100 (What percent of total Salary is the employees Commission)
</ul>
So here is the SQL statement I'm going to use:
select empno, ename, job, sal, comm, round(nvl((comm / (sal + comm) *100),0)) Pct_Comm
from empNow, Create an standard (SQL) report on the page of your choice by selecting the CREATE button at the top of the page editor. Select "REGION ON THIS PAGE" => "REPORT" => "SQL REPORT"
Enter a the TITLE and TEMPLATE of your choice, then click the NEXT button.
Copy and paste the select statement above into the page region for the select statement, and press the CREATE REGION button.
Go ahead and run the report and you will see a whole number for the COMM_PCT.
Now to turn this into a graph within the column perform the following steps.
<ol>
<li>Edit the page and then edit the report by clicking on the "Report" link on the page definition. This will bring up the Report Attributes Page.
<li>Edit the PCT_COMM column by clicking on the EDIT icon at the beginning of the row.
<li>Cut and paste the html from my above post into the "HTML EXPRESSION" field.
<li>Edit the HTML you just pasted to remove any unnecessary spaces in the tags that might cause it to render incorrectly.
<li>In the HTML EXPRESSION string, replace the #COLLECTION_PCT# string with #PCT_COMM#. (This is a substitution variable that represents the value of that column. We're using that to set the WIDTH attribute of the bar).
<li>Apply your changes and re-run the report.
</ol>
et. Voi la! You have a graph in your report.
Hope that was clear enough.
Doug
Maybe you are looking for
-
How can I convert Pagemaker 7.0 file to InDesign CS5.5?
I have problem with open pagemaker file to InDesign CS5.5. Before I was using PageMaker 7.0. Now I have InDesign CS5.5 & tried to convert my old file to InDesign. But I am having problem to convert. When I convert Pagemaker File, all text looks uncle
-
Is version of Internet explorer casuing a problem to view PDF?
I have a table with document blob, doc_type varchar2(50) two fields . I have created a form based on this table where doc_type is mime type stored by blob field document. Everything is working fine but when i want view that pdf file i have stored bef
-
Can my mac pro Bluetooth talk to my new ATV using Bluetooth to send slideshows
Can my mac pro Bluetooth talk to my new ATV using Bluetooth to send slideshows, music and movies
-
OSS note for batch field in LT12 (Program:SAPML03T; screen: 1141)
Hi guys, before ECC 6, batch field in LT12 has search help. In ECC 6, batch field has no more search help. Is there an OSS note for the batch field in LT12 to have search help again/ Thanks!
-
I have a site with several flash buttons. I can see them in IE but not Fiirefox or Netscape. I have re-downloaded Flash Player. This is the page: http://trainedwhistle.com/Audio_Books.html. I have found references to the Flash Browser Detection Kit o