Join two facts with a dimension
HelloHello Experts, I am report on 2 groups of fact.
Postal history and booking.
The common dimension only between the 2 is the Dimension of the person. I created hierarchies and defined the content of aggregation in the LTS. It helps me in the reports using any column of the facts or a whole dimension of one of the groups of fact. But if I select 2 or more dimensions, one or more of each group of fact, then the report gives and error. A general error occurred. [nQSError: 14026] Unable to navigate the requested term: MailingHistory Campaign.Campaign name. Correct metadata consistency warnings. (HY000)
For example: BookingDim - BookingFact-MailingHistoryFact (ok) MailingSourceDim - BookingFact-MailingHistoryFact works (ok), but BookingDim - BookingFact-MailingHistoryFact - MailingsourceDim (failure).
When I apply the filter to the fact 1. I get this error. (which is the column in the second fact 2 table). I checked all the joins in the MDB layer.
Please help me!
Thank you
Surya
Hi Surya,
Have you seen the following posts about it?
Goran Ocko has a beautiful here: "unite our two tables of facts different dimensions in the single logical table.
http://108obiee.blogspot.com/2009/08/joining-two-fact-tables-with-different.html
And Kurt Wolff wrote a piece related to this as well: "when done Tables Do not join all the Dimension Tables.
http://kpipartners.blogspot.com/2009/08/when-fact-tables-do-not-join-to-all.html
Hope these are useful.
Jeremy
Tags: Business Intelligence
Similar Questions
-
Answers OBIEE 10G - 2 facts with different dimensions
For example
fact 1: sales.
Of dimensions: Branch, time, product
fact 2: promotions:
Of dimensions: business, time, promotional code
These two facts and related dimensions are in Star patterns.
Only two made run OK.
What I want:
Branch, time, promotional code, Sales, promotions
In SQL, it would be something like (pseudocode):
Select t1.*, code t2.promotion, t2.promotions
Of
(
Select the branch, the time, the sales
Branch, the time, the sales
where - joins and filters
) t1
left outer join
(
Select the branch, promotions, promotional code
direction, time, promotional code, promotions
where - joins and filters
) t2
On t1.branch = t2.branch
and t1. time = t2.time
I don't know what is doable in OBIEE, or should I use SQL?
Try to create a fact in MDB with 2 LTS: sales and Promotions and set the level-based measures.
The two facts sharing the dimensions of the branch and time (consistent dims), OBIEE will join the facts with these columns.
-
2 facts with common dimensions
Hi all
I'm trying to developer a response
I have two fact tables:-Budgets and actual expenditures
The two fact Tables have common dimensions (time, costs and fees Centre)
When I create a response which combines these standard dimensions and two fact tables, I can create a report that compares the actuals Vs Budgets and which works very well
However the Budget has an extra dimension Bugdet name (which can have values like "Budget", "Forecast", "Attribution") which does not apply to actual spending
When I try to fliter, or include the name of Budget I lose all of my actual spending
(By the way some real numbers have no budgets, budgets have no actual spending and I want to see all the lines)
Any ideas?
See you soon
PeteYou want to report the facts on:
Cost center dimension
Dimension of the expenditure
Dimension of timeand Budget is on:
Cost center dimension
Dimension of the expenditure
Dimension of time
Axis of budget nameon the same report with the existing model?
If you combine a CALENDAR_MONTH_DESC then choose filter on PROD_CATEGORY it applies only to SALES and SQL retrieves the two tables:
Select distinct if D2.c2 is not null, then D2.c2 when D1.c2 is not null then end D1.c2 c1.
D1. C1 C2
C2I C1 as c3
Of
(select sum (T20550. QUANTITY_SOLD) as c1,.
T20553. CALENDAR_YEAR C2
Of
TIME T20553
T21473 PRODUCTS,
SALES T20550
where (T20550. PROD_ID = T21473. PROD_ID and T20550. TIME_ID = T20553. TIME_ID and T21473. PROD_CATEGORY = "Hardware")
Group of T20553. CALENDAR_YEAR
) Outer join (select sum (T35447.amount_sold) as c1, D1 left
T20553. CALENDAR_YEAR C2
Of
TIME T20553
(select (amount_sold-100) as amount_sold, sale time_id) T35447
where (T20553. TIME_ID = T35447.time_id)
Group of T20553. CALENDAR_YEAR
) D2 on D1.c2 = D2.c2
order by c1, c3Thus, the only problem is when the Group of columns that are not common...
Kind regards
O Goran
http://108obiee.blogspot.com/
-
How to join two fields with slightly different data
I have two columns, I need joined, both keep the columns of numeric data, but are of type varchar2 (6). The problem is that one of the columns keeps leading zeros to ensure that all 6 characters are used, but not the other. And columns preserve leading zeros may vary how many zeros are in the number-based computing.
For example, the column with zeros can contain the number 4200, which would mean that he would remain with 2 zeros as 004200. Or it could contain 320, which means that he would remain with 3 zeros as 000320.
The other column that does not have leading zeros not only keeps the number, so, in the example above, it would keep 4200 and 320 respectively.
Can someone help on how to join these columns so that they match? I guess I have to delete the zeros in one or add zeros in the other? I tried to use the trunc with zeros on the ground, but it did not work...
The following sql code:
M06.mbr06_prv_id has no zeros, prv647.provider_id zeros. See bold below...
SELECT
M06.mbr06_prv_id,
prv647.Site_ID
Of
Odw.mbr06_mbr_elig m06
JOIN THE
Odw.prv647_prov_exp prv647
WE
M06.mbr06_prv_id = prv647.provider_id
WHERE
M06.mbr06_subs_id = "999999999 '
BTW, I have no control on how this data is represented in a table... !Hello
user12296489 wrote:
... I guess I have to delete the zeros in one or add zeros in the other?Yes, this is how I see.
LTRIM removes given characters from the beginning of a string. LPAD adds characters at the beginning of a string. I would use LTRIM in this case, because if you use LTRIM, you probably need to handle a single column. If you use LPAD, you have to play with the two columns, as one of them still has the extra 0, and it sometimes needs them.I tried to use the trunc with zeros on the ground, but it did not work...
TRUNC is working on the kinds or DATEs; you have VARCHAR2s. You can convert them to numbers, but then you risk of errors to cause bad data (and it linked to the wrong data).
>The following sql code:
M06.mbr06_prv_id has no zeros, prv647.provider_id zeros. See bold below...
SELECT
M06.mbr06_prv_id,
prv647.Site_ID
Of
Odw.mbr06_mbr_elig m06
JOIN THE
Odw.prv647_prov_exp prv647
WE
M06.mbr06_prv_id = prv647.provider_id
WHERE
M06.mbr06_subs_id = "999999999 'If you are certain that m06.mbr06_prv_id never has extra characters, whereas the join condition can be
ON m06.mbr06_prv_id = LTRIM ( prv647.provider_id , '0' )
If this isn't the case, CUT then the two columns.
BTW, I have no control on how this data is represented in a table... !
Report a bad design is for people who don't have not this control. Numbers are the number of columns, not VARCHAR2. If the ID really needs to be strings, they should be validated and standardized once, when they are placed in the table, no more, and more, in all queries that use these columns.
I hope that answers your question.
If not, post a small example of data (CREATE TABLE and only relevant columns, INSERT statements) for all tables and also post the results desired from these data.
Explain, using specific examples, how you get these results from these data.
Always tell what version of Oracle you are using. -
to join two columns with different data types
Hello experts,
I have two tables...
with their data as belowcreate table1 ( col1 varchar2(20) ); create table2 ( col1 number(10) );
My questionwith table1 as ( select 'xx' col1 from dual union all select 'yy' col1 from dual union all select '01' col1 from dual union all select '02' col1 from dual union all select '03' col1 from dual union all select '04' col1 from dual ),table2 as ( select '01' col1 from dual union all select '02' col1 from dual union all select '03' col1 from dual union all select '04' col1 from dual )
How to join table1.col1 table2.col1? since they are different data types... .i tried to use To_char but then I got 0 zero,.
is there is all the functions I can use?
Thank you!!user642297 wrote:
Hello experts,I have two tables...
create table1 ( col1 varchar2(20) ); create table2 ( col1 number(10) );
with their data as below
Above, you said that table2.col1 was a NUMBER.
Below, is a VARCHAR2:with table1 as ( select 'xx' col1 from dual union all select 'yy' col1 from dual union all select '01' col1 from dual union all select '02' col1 from dual union all select '03' col1 from dual union all select '04' col1 from dual ),table2 as ( select '01' col1 from dual union all select '02' col1 from dual union all select '03' col1 from dual union all select '04' col1 from dual )
Woudn't be a better approximation of your real tables:
),table2 as ( select 1 col1 from dual union all select 2 col1 from dual union all select 3 col1 from dual union all select 4 col1 from dual )
?
My question
How to join table1.col1 table2.col1? since they are different data types... .i tried to use To_char but then I got 0 zero,.
is there is all the functions I can use?Your postal code. I think the best way is to use TO_CHAR, but maybe you were using it differently.
SELECT * FROM table1 JOIN table2 ON NVL ( LTRIM (table1.col1, '0') , '0' ) = TO_CHAR (table2.col1) ;
This assumes that table1.col1 never contains decimal points, unary + signs, exhibitors, or other things like that.
He will be responsible for negative numbers, but if table1.col1 contains 0 in front after the sign less (for example '-0012' "), then the solution is a bit more complicated. -
Two Tables of FACTS, some common Dimensions and common
Hello to all, question, I'm sure you have met in the past, but always wanted to get your opinion.
I have a few FACT tables and dimensions that are shared (common size). Rest of the dimensions are related to one or the other FACT tables.
What is the best way to present a view where users CAN pull information from both tables?
I managed by pulling the shared dimensions (common) on the tables of BOTH FACTS and having the same grain, but this view breaks down when I pull information from a Dimension that does not much to do with another.
What is the best way to present it? Should it be broken down in three areas?
Business line 1-> some Dims-> FACT Table has
Area 2-> some Dims-> Table of FACTS B
AND
Business line 3-> * only commune Dims *-> Table of FACTS A & B Table of FACTS?
Your comments are always appreciated.
Kind regards
Published by: user10679130 on October 12, 2009 15:27Start by checking the forum for similar discussions/questions.
Join two tables of facts different dimensions in the single logical table
http://108obiee.blogspot.com/2009/08/joining-two-fact-tables-with-different.htmlThis solution maintains two tables of facts in the same area in the logical table is unique, with municipalities and non-common dimensions.
Concerning
Goran
http://108obiee.blogspot.com -
Join the Grains with different facts
Hello
We have a requirement where we have two facts with different grains
DEPT_FACT - contains (Dept_Id, Dept_Name, recipes)
EMP_FACT - contains (Emp_Id, Dept_Name, Is_Current_Employee)
Some examples of data
DEPT_FACT
========
1 Sales_Dept 100 000
Manufacturing_Dept 2 200 000
EMP_FACT
========
Sales_Dept 100 Y
200 Sales_Dept Y
Sales_Dept 300 N
Manufacturing_Dept 400 N
500 Manufacturing_Dept Y
Manufacturing_Dept 600 N
Our requirement is to create an OBIEE report that shows the * "' recipes / number of current employees in Department BY Department" * "
The above example should demonstrate
Sales_Dept = > $ 50,000 (100 000 / 2 current employees)
Sales_Dept = > $ 200,000 (200 000 / 1 current employee)
Any suggestions on how this can be done?Hello
Try this code in your fx
Recipes/case when current_employee = 'y' then count end (emp_id by department_name)
Concerning
NGO
-
Several facts and consistent dimensions / nonconfirmed
Hi all
There has been a lot of posts on this issue, I've read a lot about this, but still can not get this to work. We are looking for a basic marketing operation where we can follow the links that were clicked in email marketing that have been sent. What I have is two fact tables, with a dimension in line with each other and one of the facts with a dimension not compliant:
Fact 1 Sun - related links
Fact 2 Sun - related links. Dim - Email name;
In fact, I've defined a measure that counts the number of links clicked 1
In fact 2, I defined a measure that counts the number of links
So I can't take fields of Sun - Email name and fact 2 this properly will show me the number of links in this e-mail. I can add in the name of the Sun link - links to give me the details of the links in the email. However, when I then add the number of links clicked of the fact 2, it is shown as zero. Withdrawal of the name Email will cause the number of clicks to display correctly for each link.
I read this post here:
report based on 2 different fact tables
which seems to contain my exact problem, but the listed solution did not work for me. I created hierarchies, set the LTS of fact 1 retail for Dim - links and the LTS in fact 2 detail for Dim - Dim - Email name and links. It does not work. I then put the LTS in fact 1 total for Dim - Email name. It does not work. I then put the LTS to the dimension tables to be detail in every case, and this does not work either. My business issue is quite simple: for each email list links and the number of times the link has been clicked.
I started from scratch, I seek only to these 4 logical tables, I've got to the stage where I'm BI reboot after each change, but I still don't see the problem. Can someone give me some advice please?
Thank you
MattMatt,
Just a small change more...
/ * The single fact table now columns as two, one a separate count on linkid, and the other a number on the clicksid * /.
Given that clicksid is a source is 1 that has no mapping to Dim Email, for this column value mapping contained level Email Total.
That is to say, double-click your count (clicksid)--> go to the tab levels--> set Email name Dim at the Total level. Note to all levels of rest must be left untouched (unselected).This South do the trick...
Blackburn
-
Problem: two tables of facts and a dimension in accordance with
Hello world!
I need solve this situation:
I have two fact tables, say F1 and F2, which are both linked to D1, my dimension in line
I just need to select fields of D1, but I know that, when querying, OBIEE links to a table of facts anyway... How is it chooses the fact table? In other words, if I want to only fields D1, not the system also queries of F1 or F2? What is a random choice?
Is there a way to "force" this choice, saying the system for example to choose only from F1?
Is there a work around to resolve this situation? Remember, I only need fields D1.
Thank you!!The solution to your problem is "column name".
Go to the layer of presentation and double click on your domain. Then you will see name column option. Click on set. give the corresponding column actually it (in your column of fact give deal F1)References: http://oracle-bi.siebelunleashed.com/articles/implicit-fact-column/
Thank you
GSRPublished by: GSR on 20 March 2012 15:22
-
How can I join two end drawn with the pen tool points in CC2104
-
Facts of priority / dimension
Hello
I have problem with my data display. I have created (for example) a star composed of two facts and two-dimensional. Star look like this:
F1 / F2 - facts
D1 / D2 - dimensions
Joins:
F1-> D1 and F1-> D2
F2-> D1 and F2-> D2
It's good work, but if I want to display in only analyze the column of TWO DIMENSIONS, I have a problem. For example I get the unit D1 and D2 category and does not show this point of data view is correct because when I check SQL that was executed he uses F1 to display data. But I want to use F2 you view this data, BUT I can't add column of F1 / F2 to analyze. I want to use F2 because with this fact, I have more data. Why was elected a random fact or whether it is a priority which are applied?
I check with more facts/dimensions and made only in this case, it is used.
Thanks for help or suggestions.
Hello
Try to use the column property is implicit in the presentation catalog properties. It will help to choose the table of events manually.
Thank you
Prasanna
-
How to attach two photos with window live photoshop
How to join two or more pictures with window live photoshop... Please tell me...
Hi puneetdeol,
Thanks for posting your question in the Microsoft answers Forum. For any questions about Windows Live Photo Gallery, please visit the following link:
http://windowslivehelp.com/forums.aspx?ForumID=cafb0556-8959-49b9-AFEB-635314aa02f3
-
JOIN the question... Join two tables without omitting lines
I came across a problem that should be an easy fix (I hope), but I'm having a hard time to come up with a solution.
Basically I have two tables, one with the actual amounts with the budget. I have to write a sql statement select that joins these tables together and includes all of their lines. I was able to join the tables by using JOIN, LEFT JOIN and RIGHT JOIN, but it always fails the lines I need.
Below, I have examples of my tables (AMOUNT_TABLE and BUDGET_TABLE). For simplicity, I built the examples to show the same values in the first four columns, with the 5th and 6th columns (SUB_ACCOUNT, AMOUNT, BUDGET) as the only values that are different. My actual tables are not quite that simple, but I don't think it was relavent to this issue.
AMOUNT_TABLE
FISCAL_YEAR PERIOD ACCT_UNIT ACCOUNT SUB_ACCOUNT AMOUNT 2013
1 11111 555555 0000 100 2013 1 11111 555555 1000 100 2013 1 11111 555555 2000 100 2013 1 11111 555555 3000 100 2013 1 11111 555555 4000 100 BUDGET_TABLE
FISCAL_YEAR PERIOD ACCT_UNIT ACCOUNT SUB_ACCOUNT BUDGET 2013
1 11111 555555 3000 200 2013 1 11111 555555 4000 200 2013 1 11111 555555 5000 200 2013 1 11111 555555 6000 200 Here's what I hope. Note that SUB_ACCOUNTs 0000, 1000, and 2000 show without budget amounts since there is not a corresponding line in the BUDGET_TABLE. And same for SUB_ACCOUNTs 5000 and 6000, they show budgets with no amount because there is not a corresponding line in the AMOUNT_TABLE.
(exit)
FISCAL_YEAR PERIOD ACCT_UNIT ACCOUNT SUB_ACCOUNT AMOUNT BUDGET 2013 1 11111 555555 0000 100 0 2013 1 11111 555555 1000 100 0 2013 1 11111 555555 2000 100 0 2013 1 11111 555555 3000 100 200 2013 1 11111 555555 4000 100 200 2013 1 11111 555555 5000 0 200 2013 1 11111 555555 6000 0 200 If all goes well, my question is clear. Any help on this would be greatly appreciated. Thanks in advance.
Use the join ANSI - FULL OUTER JOIN syntax:
with amount_table like)
Select fiscal_year 2013, 1 period, 11111 acct_unit, 555555, 0000 sub_account, amount 100 of all the double union
Select 2013,1,11111,555555,1000,100 from all the double union
Select 2013,1,11111,555555,2000,100 from all the double union
Select 2013,1,11111,555555,3000,100 from all the double union
Select double 2013,1,11111,555555,4000,100
),
budget_table like)
Select 1 time, 11111 acct_unit, account 555555, sub_account 3000, 2013 fiscal_year, budget of 200 Union double all the
Select 2013,1,11111,555555,4000,200 from all the double union
Select 2013,1,11111,555555,5000,200 from all the double union
Select double 2013,1,11111,555555,6000,200
)
Select nvl (a.fiscal_year, b.fiscal_year) fiscal_year,
period of NVL (a.period, b.period),
NVL (a.acct_unit, b.acct_unit) acct_unit.
account of NVL (a.Account, b.Account),
NVL (a.sub_account, b.sub_account) sub_account.
Amount NVL(a.amount,0),
NVL(b.budget,0) budget
of amount_table one
full join
budget_table b
on)
a.Fiscal_Year = b.fiscal_year
and
a.period = b.period
and
a.acct_unit = b.acct_unit
and
a.Account = b.account
and
a.sub_account = b.sub_account
)
/
FISCAL_YEAR PERIOD ACCT_UNIT ACCOUNT SUB_ACCOUNT AMOUNT BUDGET
----------- ---------- ---------- ---------- ----------- ---------- ----------
2013 1 11111 555555 0 100 0
2013 1 11111 555555 1000 100 0
2013 1 11111 555555 2000 100 0
2013 1 11111 555555 3000 100 200
2013 1 11111 555555 4000 100 200
2013 1 11111 555555 6000 0 200
2013 1 11111 555555 5000 0 2007 selected lines.
SQL >
SY.
-
Hello
I'm trying to 'join' two SQL queries:
(* 1) lists all organizations *.
SELECT org.organization_name, org.organization_id
OF APPS.ORG_ORGANIZATION_DEFINITIONS ORG
order of ORG.ORGANIZATION_NAME
;
(* 2) lists all the categories without entries related to a specific organization (id 87) *.
SELECT THE CAT. CATEGORY_CONCAT_SEGS, CHAT.*
FROM APPS. MTL_CATEGORIES_V CAT
WHERE CAT. ENABLED_FLAG = 'Y '.
and cat. DISABLE_DATE is null
AND CAT. STRUCTURE_NAME = 'IN. Category element. "
AND CAT. STUFF NOT IN (SELECT VAC. STUFF
FROM APPS. MTL_CATEGORY_ACCOUNTS_V VAC
WHERE ACC.ORGANIZATION_ID = 87
)
classification by CAT. CATEGORY_CONCAT_SEGS
;
Might help you to join these two queries, as several ways that I tired me has not brought the expected results.
Table ORG_ORGANIZATION_DEFINITIONS has the list of bodies with their identity papers, for example
organization_id OrganizationName
87 GBP
US $101
102 EUROS
View MTL_CATEGORIES_V has the list of categories, for example
CATEGORY_CONCAT_SEGS STUFF
3485 Production card
3491 incentives
Training of 3490
View MTL_CATEGORY_ACCOUNTS_V has the list of accounts for specific categories and specific account, for example
ORGANIZATION_ID STUFF
3485 87
3491 87
3491 101
According to my sample, I expect these results:
ORGANIZATION_ID STUFF CATEGORY_CONCAT_SEGS
87 3490 training
101 3485 map production
101 training 3490
102 3485 map production
102 3491 incentives
102 training 3490
Published by: gytis on 2011.8.29 02.43How about this:
Select * from ORG_ORGANIZATION_DEFINITIONS o1, MTL_CATEGORIES_V c1 where
not exist
(select o.organization_id, c.CATEGORY_ID in the c, ca, ORG_ORGANIZATION_DEFINITIONS o MTL_CATEGORY_ACCOUNTS_V MTL_CATEGORIES_V
where ca. Stuff = c.CATEGORY_ID and ca.organization_id = o.organization_id
and o.organization_id = o1.organization_id and ca. Stuff = c1. STUFF
)I'm a Cartesian join and then filtering the categories that exist for this organization. Please add your other conditions accordingly, but this gives the desired result.
Or simplified:
Select * from ORG_ORGANIZATION_DEFINITIONS o, MTL_CATEGORIES_V c where
not exist
(select 1 in MTL_CATEGORY_ACCOUNTS_V ca
where ca.organization_id = o.organization_id and ca. Stuff = c.CATEGORY_ID
);Published by: Santosh on August 29, 2011 03:57
-
Join two fields in a field for a view
I am trying to create a view based on several tables.
I have all the joins and everything that does very well and functioning properly.
However, when I get to this step, it's when I start to run into problems.
I want to just join (or concatenate) two fields with a period of characters between them.
For example, if I take FirstName and LastName, then I want them to become a field called name, appearing as 'JOHN. DOE. "
When I try to bring together them, the problem happens with the comma.
An example of code that I did is here:
BEGIN
EXECUTE IMMEDIATE ' create view VIEW_LALALA
like SOME t1. FirstName + "." + t2. Name, t1.something as something like OOO t2.ooo
OF (tableFirstNames t1 t2 on t1.nameID = t2.nameID inner join tableLastNames)
END;832667 wrote:
I am trying to create a view based on several tables.
I have all the joins and everything that does very well and functioning properly.
However, when I get to this step, it's when I start to run into problems.I want to just join (or concatenate) two fields with a period of characters between them.
For example, if I take FirstName and LastName, then I want them to become a field called name, appearing as 'JOHN. DOE. "
When I try to bring together them, the problem happens with the comma.An example of code that I did is here:
BEGIN
EXECUTE IMMEDIATE ' create view VIEW_LALALA
like SOME t1. FirstName + "." + t2. Name, t1.something as something like OOO t2.ooo
OF (tableFirstNames t1 t2 on t1.nameID = t2.nameID inner join tableLastNames)
END;to concatenate two string together do not use '+', but ' |. '
SELECT FIRST_NAME: '. ' || LAST_NAME FROM EMP;
Maybe you are looking for
-
Могу ли я обновить айфон 5s c iOS7.0 dizinine iOS 9.3?
-
Re: Satellite M115 - CD player works sporadically
I've had my Toshiba for 5 years and for perhaps the past that 3 or 4 CD Player did not work properly. When I go into windows Explorer, the drive appears only occasionally.I'm not in the market for a new laptop, because I'm leaving the country for two
-
Hello I just read your incompatible experiences regarding the ability to boot from different readers of Sandsisk. To be more precise, is it safe to buy the discs above (North American model numbers): SDCZ43 - 016G - A46 - 16 GB SDCZ43 - 032G - A46 -
-
Cannot run XP sp3 on x 61 Tablet - BSOD when installing
I'm trying to install XP pro sp3 on my X 61 Tablet, but every time I try I get a BSOD with an 0x0000007B error. I've tried everything I see: (1) replacing the sata BIOS ACHI compatibility mode(2) copy an installation of XP in a VM on the HARD drive
-
Recover the use of memory (WCF function)
Hoped one of the officiando on this forum could enlighten me on what I could possibly hurt. I created a WCF dashboard that shows a VMs CPU and memory Avg and Max using for the last 30 days. Data vFogkight in the dash of my review of the virtual machi