Showing posts with label business. Show all posts
Showing posts with label business. Show all posts

Tuesday, March 27, 2012

Calculated measure/MDX question

Hello there,

I am chasing my tail for quite few days now trying to answer a simple and resonable business question using MS SQL Server 2005 Analysis Services:

I have two independent dimensions: Category and Status

I need to produce an output that will display total count of records for each Category and Status, count for each Category for all Statuses, and ratio of the current Status count to all Statuses count within the same category.

I.e.” CategoryA” has two records one with status “Active” and one with status “Inactive” the output I need to produce

Category, Status, CountForCategory, CoutForStatus, Status Ratio

CategoryA, Active, 2, 1 , 50%

CategoryA, Inactive, 2, 1 , 50%

Any Ideas, suggestions (please)?

Hi Vlad,

here is the query in terms of AdventureWorks. I think it is very similar your one.

Code Snippet

with

member [Measures].[Internet Order Quantity AllCategories] as

([Measures].[Internet Order Quantity], [Product].[Category].[All Products])

member [Measures].[Quantity Ratio] as [Measures].[Internet Order Quantity]/[Measures].[Internet Order Quantity AllCategories], FORMAT_STRING="Percent"

select {[Measures].[Internet Order Quantity AllCategories], [Measures].[Internet Order Quantity], [Measures].[Quantity Ratio]} on 0,

[Customer].[Education].[Education].members *

[Product].[Category].[Category].members

on 1

from [Adventure Works]

here is the result

Internet Order Quantity AllCategories

Internet Order Quantity

Quantity Ratio

Bachelors

Accessories

18.144

10.302

56,78%

Bachelors

Bikes

18.144

5.112

28,17%

Bachelors

Clothing

18.144

2.730

15,05%

Bachelors

Components

18.144

(null)

(null)

Graduate Degree

Accessories

10.603

6.227

58,73%

Graduate Degree

Bikes

10.603

2.722

25,67%

Graduate Degree

Clothing

10.603

1.654

15,60%

Graduate Degree

Components

10.603

(null)

(null)

High School

Accessories

10.320

6.409

62,10%

High School

Bikes

10.320

2.345

22,72%

High School

Clothing

10.320

1.566

15,17%

High School

Components

10.320

(null)

(null)

Monday, March 19, 2012

calculate business hours between two dates

Does anyone have any idea how I could calculate the business hours between two dates (M-F 9-5). Ideally it would also skip holidays, but I will take any help I can get.
Thanks,
RobCreate a table of sequential numbers in your database. This is very hand to have, and can help you solve a lot of date-span related problems:

CREATE TABLE [dbo].[sequential_numbers] ([value] [int] NOT NULL)
GO

Populate the table with sequential values, starting with zero:

DECLARE @.value int
Set @.value = 0
While @.value <= 8760
BEGIN
INSERT INTO sequential_numbers (value) SELECT @.value where not exists (select * from sequential_numbers where value = @.value)
SET @.value = @.value + 1
END
GO

--Then, assuming you have a table (Holidays) that stores non-business days:
SELECT count(*) * 8 BusinessHours
FROM sequential_numbers
LEFT OUTER JOIN Holidays on DateAdd(dd, value, @.StartDate) = Holidays.HolidayDate
WHERE DateAdd(dd, value, @.StartDate) <= @.EndDate
AND DateName(dw, DateAdd(dd, value, @.StartDate)) not in ('Saturday', 'Sunday')
AND Holidays.HolidayDate is null

blindman|||you can accomplish the same withouth creating a permanent table:

create function dbo.fn_CartesianProduct() returns table as
return (
select top 100 percent id = (a0.id + a1.id + a2.id + a3.id) from
(
select 0 id union select 1 union select 2 union
select 3 union select 4 union select 5 union
select 6 union select 7 union select 8 union select 9
) a0,
(
select 0 id union select 10 union select 20 union
select 30 union select 40 union select 50 union
select 60 union select 70 union select 80 union select 90
) a1,
(
select 0 id union select 100 union select 200 union
select 300 union select 400 union select 500 union
select 600 union select 700 union select 800 union select 900
) a2,
(
select 0 id union select 1000 union select 2000 union
select 3000 union select 4000 union select 5000 union
select 6000 union select 7000 union select 8000 union select 9000
) a3
order by 1
)
go

select * from dbo.fn_CartesianProduct()|||Cool code.

I've accomplished the same thing using a user-defined function that returns a table of sequential numbers between two values, but not using your algorithm , for databases where I was not allowed to create a table.

The sequential_numbers table has come in handy so many times, that I just put it in all my databases.

blindman|||the advantage that I have with this function is that I can do unlimited number of calculations without having to do any io, including generating a calendar, for example, from 01/01/1753 through 06/25/2277 (you just need to add another sub-query into the function above).|||The sequential_numbers table has come in handy so many times, that I just put it in all my databases.

extremely handy, yes

i call it the Integers table

see Finding all the dates between two dates (http://searchdatabase.techtarget.com/ateQuestionNResponse/0,289625,sid13_cid474893_tax285649,00.html) (free registration may be required)

rudy
http://r937.com/|||figured i'd chime in to say thanks (esp. to blindman)...this thread def just made my life easier. and i wanted to bump it up since it is very useful. thanks everyone, i will certainly be frequenting this site from now on.

Calcualted Cells Performance Problem

Hello,

Initially the business divided its Practices into two groups, Industrial and Functional which were maintained in the relational source system as two seperate tables. The business has decided to expand the number of practices it reports on, however changes to the relational source system has not fully been implemented. We require reporting on the Budget data now so we've created a dimension named "Practices" which follows the same dimensional structure as the "Inudstry" and "Function" dimensions except that there is an extra parent level of "Practice Type". I would like to hide this new all inclusive "Practices" dimension from end users and effectively look up the corresponding value in the Industry or Function dimension from the Budget fact table.

I have the following calculated cell which achieves the desired results but has rather slow perforamce.

CREATE CELL CALCULATION CURRENTCUBE.[Budget Functional Practice]

FOR

'({[Measures].[Budget]},

[Fiscal Date].[Fiscal].[Fiscal Mo].MEMBERS,

[Function].[Func Practice].[Func Practice Def].MEMBERS)'

AS'

(StrToMember("Measures.[" + Measures.CurrentMember.Name + "_]"),

StrToMember("[Practices].[Hierarchy].[Practice Class].&[Function Practice].&[" + [Function].[Func Practice Def].CurrentMember.Name + "]"),

[Function].[Func Practice].[All])'

I was wondering if:

a) Is a calculated cell the best solution?

b) Is there a more efficient MDX which can be used?

Thank you.

If I am understanding correctly, you have a measure called Budget_ which you want to be the budget at the All functions level. If this is correct the following scope should work and perform significantly better. All of the string and currentmember references would have been slowing things down.

SCOPE ({[Measures].[Budget]},

[Fiscal Date].[Fiscal].[Fiscal Mo].MEMBERS,

[Function].[Func Practice].[Func Practice Def].MEMBERS);

(Measures.[Budget_]) = ([Function].[Func Practice].[All], [Measures].[Budget]);

END SCOPE;

|||

Thank you for the reply Darren, I think this is a step in the right direction.

The budget fact table contains one dimension which accounts for all of our practices (this dimension is hidden from the users). What I want to be able to do is, based on a selected member from either of the visible industry practice or function practice dimensions, lookup the corresponding value in the practices dimesnsion and show the budget measure.

|||

If you're using AS 2005, you might consider an alternative approach, using many-to-many dimensions. But first (if I interpreted your scenario correctly) you would need to set up 2 "Practices" dimension security roles, 1 for users of Function and the other for users of Industry (both roles would have Visual Totals enabled). Role#1 would allow access to the "Function", and Role#2 to the "Industry" member, at the "Practice Type" level - these would also be the Default Members for the respective roles. This would ensure that Function users only access Function data and Industry users likewise. Role#1 would be denied access to the Industry dimension and Role#2 to the Function dimension.

For the many-to-many dimension modelling, there would be a bridge table (could be a named query) which maps Function dimension table rows to the Practices dimension, and a separate bridge table to map Industry. Once a measure group is created for each bridge table, 1 bridging Function and Practices and the other bridging Industry and Practices, both Function and Industry can be configured as many-to-many dimensions for the Budget measure group.

Calcualted Cells Performance Problem

Hello,

Initially the business divided its Practices into two groups, Industrial and Functional which were maintained in the relational source system as two seperate tables. The business has decided to expand the number of practices it reports on, however changes to the relational source system has not fully been implemented. We require reporting on the Budget data now so we've created a dimension named "Practices" which follows the same dimensional structure as the "Inudstry" and "Function" dimensions except that there is an extra parent level of "Practice Type". I would like to hide this new all inclusive "Practices" dimension from end users and effectively look up the corresponding value in the Industry or Function dimension from the Budget fact table.

I have the following calculated cell which achieves the desired results but has rather slow perforamce.

CREATE CELL CALCULATION CURRENTCUBE.[Budget Functional Practice]

FOR

'({[Measures].[Budget]},

[Fiscal Date].[Fiscal].[Fiscal Mo].MEMBERS,

[Function].[Func Practice].[Func Practice Def].MEMBERS)'

AS'

(StrToMember("Measures.[" + Measures.CurrentMember.Name + "_]"),

StrToMember("[Practices].[Hierarchy].[Practice Class].&[Function Practice].&[" + [Function].[Func Practice Def].CurrentMember.Name + "]"),

[Function].[Func Practice].[All])'

I was wondering if:

a) Is a calculated cell the best solution?

b) Is there a more efficient MDX which can be used?

Thank you.

If I am understanding correctly, you have a measure called Budget_ which you want to be the budget at the All functions level. If this is correct the following scope should work and perform significantly better. All of the string and currentmember references would have been slowing things down.

SCOPE ({[Measures].[Budget]},

[Fiscal Date].[Fiscal].[Fiscal Mo].MEMBERS,

[Function].[Func Practice].[Func Practice Def].MEMBERS);

(Measures.[Budget_]) = ([Function].[Func Practice].[All], [Measures].[Budget]);

END SCOPE;

|||

Thank you for the reply Darren, I think this is a step in the right direction.

The budget fact table contains one dimension which accounts for all of our practices (this dimension is hidden from the users). What I want to be able to do is, based on a selected member from either of the visible industry practice or function practice dimensions, lookup the corresponding value in the practices dimesnsion and show the budget measure.

|||

If you're using AS 2005, you might consider an alternative approach, using many-to-many dimensions. But first (if I interpreted your scenario correctly) you would need to set up 2 "Practices" dimension security roles, 1 for users of Function and the other for users of Industry (both roles would have Visual Totals enabled). Role#1 would allow access to the "Function", and Role#2 to the "Industry" member, at the "Practice Type" level - these would also be the Default Members for the respective roles. This would ensure that Function users only access Function data and Industry users likewise. Role#1 would be denied access to the Industry dimension and Role#2 to the Function dimension.

For the many-to-many dimension modelling, there would be a bridge table (could be a named query) which maps Function dimension table rows to the Practices dimension, and a separate bridge table to map Industry. Once a measure group is created for each bridge table, 1 bridging Function and Practices and the other bridging Industry and Practices, both Function and Industry can be configured as many-to-many dimensions for the Budget measure group.

Tuesday, February 14, 2012

business vs. logic

You have seen a chair in a public room and go back after a while to acquire it. Is it unexpected that the object is not there anymore?

I implement the business logic in stored procedures. Once user orders some service, the actions carry out are: a)check they have sufficient funds on their balance; and, b) a price check is made selecting the latest from pricelist. The newly created job entry refers the price in the pricelist table according to service_id and the issued pricelist date.

These are data validity checks, which must be done in a multiuser database. In the session beginning, user gets prices and funds. These data are not locked throughout the session -- another process may change the records. Therefore, the extra "business" checks are needed to preserve data correctness at the start of every transaction. One way to report the errors would be to raise an error.

Consider the primary-foreign key violations. They are raised by system with severity level of 16. Uniqueness violation is raised with severity 14. The MSSQL reference http://msdn2.microsoft.com/en-us/library/ms164086.aspx tells us that this is a sort of error, which can be corrected by user. Indeed, (s)he can. But the exceptions are unexpected situations. Exception processing consumes huge CPU processing power if some occurs. Normally, programs allocate resources and use them. If resource cannot be allocated -- app exits with exception. It just has nothing to do. However, there is nothing exceptional in shared data access by multiple concurrent processes in a multithread/multiuser/distributed application. Since, we cannot lock the user resources during user session, we should be prepared to concurrent data changes. Therefore, I find the exception raising inappropriate tool.

Consider a situation, when one user is assigned to a group. Nothing prevents from another admin to remove the group at the same time. Therefore, our user management application should be ready to expected "group does not exist" "error" result. I even disagree that this is an error, since it is perfectly valid to have such a situation. It is like you have seen a chair in a room and later return to take it. But the chair is not there anymore. Is it unexpected? The case should not be exceptional, IMO.

So we have:
1. Severity 1-10 "informational messages";
2. Severity 11-16 errors; and
3. RETURN error_code.

Which should be used? Anything else? Do my considerations make sense?

When I want the SQL Code to with certainly 'talk' back to the application code, I use RAISERROR.

For SQL Procedures to 'talk' with each other, I may also use the RETURN value.

I may use 'WITH LOG' to force the error condition into the Application Log.

And you are wise to question what is an error condition. Is it a 'system' error, a 'logic' error, or a 'business rule' exception?

|||Thank you, Arnie for sharing your experience.


> And you are wise to question what is an error condition. Is it a 'system'
> error, a 'logic' error, or a 'business rule' exception?

I believe that the "business logic" is an oxymoron likewise "market order", which is chaos and disorder in fact. Nevertheless, I do not distinguish between "rules" and "logic" here. It is logical that user balance should not go below zero, it is logical that the price must be the latest one, it is logical that user must belong to an existing group.

I understand the exceptions in a serial programing where your threads allocate (lock) resources but not in distributed programing where you cannot be sure about current condition of resources. It is ok for the local copies of the data to be incoherent in multiprocessor system. When data become incoherent, they may cause logic/rules/constraint/etc violations.

Some recommend checking file existence before opening it. But another process may remove the file between the check and open op. System returns "file does not exist" open error. It does not investigate whether the thread checked the file existence or it is making a reckless open. In other words, it does not examine the intentions and conditions of the caller. One utility would, for instance, set up admin rights for a list of users. This 'setadmin' app assumes the group 'admins' exists. It has nothing to do if there is no such group. It is exceptional situation for the app. Another application requests available groups, uses one and sends result back. Multiuser application should be prepared to situation where the used group does not exist anymore. A more realistic is a stock with multiple operators. When you have selected the list of available goods into a local copy, the goods can be removed by another operator.
You should tell the user that the product list is outdated, that it is incoherent with reality rather than complaining that the operation cannot be accomplished.

Looks like, error handling in distributed systems is more general than a DB errors issue. But any advices are welcomed.
|||

Valentin,

Note that I didn't use the term 'business logic', but instead used 'business rule exception' -and yet I agree with you that often business needs sometimes seem to defy logic; and that when describing the condition of a market, 'market order' could easily be a oxymoron, but when used as a entity, 'market order' has a definitive 'thing' quality about it.

This, and your other posts on Locking behavior demonstrate a deep concern for data integrity, and I can certainly appreciate your questions. When there are opportunities for instability, instability will occur. Stasis can only exist when ignoring temporality. Yet, in fact, Stasis cannot be separated from temporal considerations. The certainity of a state of data is increasingly uncertain as the system becomes more complex -distributed, multiprocessor, and multi-threaded. We often resort to extreme control when faced with apparant chaos. As TS Elliot would describe it, the time 'between' is the shadow, and we cannot ignore the shadow, for all things unknown exists in the shadow.

I once worked on a project where, for speed, data was cached on each web server in a very large web farm, and yet many data items were unique and ONLY one customer would be allowed to purchase that one item. There could be thousands of concurrent customers considering the same item. It was necessary to create a lot of communication between the cach objects, tenative 'sold' indicators, and definitive 'sold' indicators, 'cancellation', etc. You can imagine the chaos -but it did have a solution.

Since, as you put it so well, there are opportunities for chaos between the moment we determine IF an action can be taken AND the moment the action is actually taken, AND the 'system' doesn't help 'protect' us from that potential chaos, we are faced with having to find ways to invoke 'extreme control'. So like forcing all passengers through the security checkpoint as a single point of control, it may be useful to consider how to force all sensitive data activity through a 'single point of control'.

One useful approach is to force all data changes through Stored Procedures (No direct table access). Then in the Stored Procedure used to UPDATE a set of resouces in a TRANSACTION, also use sp_getapplock / sp_releaseapplock as a way to more tightly control access to the resources.

Here is an example: (Use Northwind database)

Code Snippet


CREATE PROCEDURE dbo.Employees_U_LastName
( @.EmployeeID int,
@.LastName varchar(20)
)
AS
BEGIN
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
BEGIN TRANSACTION


DECLARE @.LockResult int

EXECUTE @.LockResult = sp_getapplock
@.Resource = 'ThisIsMyProcess-StayOut',
@.LockMode = 'Exclusive',
@.LockTimeout = 0

IF @.LockResult <> 0
BEGIN
ROLLBACK TRANSACTION
PRINT 'SomeOne Else is Using this Resource'
RETURN
END


PRINT 'TRANSACTION IS Active'
SELECT
EmployeeID,
LastName,
FirstName
FROM Employees
WHERE EmployeeID = @.EmployeeID


PRINT 'Waiting...'
WAITFOR DELAY '00:00:15'

PRINT 'Second UPDATE to Active TRANSACTION'
UPDATE Employees
SET LastName = @.LastName
WHERE EmployeeID = @.EmployeeID


EXECUTE sp_releaseapplock
@.Resource = 'ThisIsMyProcess-StayOut'


COMMIT TRANSACTION


PRINT 'Waiting for Other Process to Complete'
WAITFOR DELAY '00:00:05'

PRINT 'CHECK Results of TRANSACTION'
SELECT
EmployeeID,
LastName,
FirstName
FROM Employees
WHERE EmployeeID = @.EmployeeID


END
GO

Then execute this from two different connections.

Code Snippet


EXECUTE dbo.Employees_U_LastName
@.EmployeeID = 1,
@.LastName = 'Davolio-Jones'

In the second connection, you will get the message: 'SomeOne Else is Using this Resource'. But you have to be adamant that there is only one 'egress' point to the resources -through the procedure.

Perhaps this will help you along on your quest to find a secure and reliable method to control data

|||

Sometimes maybe it doesn't matter if the 'problem' is a 'system' error, a 'logic' error, or a 'business rule' error -the 'problem' has to be handled, and in the case at hand, they may all be handled the same. It is still very useful to keep clarity about the differences between them. For at times, the effect of treating them the 'same' is confusing at best.

valentin tihomirov wrote:

I do not distinguish between "rules" and "logic" here. It is logical that user balance should not go below zero, it is logical that the price must be the latest one, it is logical that user must belong to an existing group.

Logic follows defined mathematical sylogisms.

1 = 2

2 = 3

Therefore 3 = 1

is based on logic. That balance MUST be >= 0 is a Business decision (busines rule) solely BECAUSE [ bal < 0 ] is mathematically valid -but in this situation, this business has determined to not allow that to occur. A bank 'should' not allow an account to overdraw (balance >= 0 ) at all times, in other words, as the trustee for your money, the bank 'should' not give others money claiming that it is your money if you don't have money to give out. However, the banking industry decided that there was money to be earned by allowing overdrafts, and you can't charge for an overdraft UNLESS the balance is allowed to be less than zero, so the business rule changed, and balance can be less than zero ( to some limit ).

Logic is easy to code, business rules, subject to change, require a lot more effort and consideration.

Of course, I realize that you know what I'm talking about. I'm using your posting to help others that may be reading, and still learning, and still uncertain... (So I hope you accept the 'lecture' in that guise. I often respond to a posting with the realization that I may also be responding to other readers with similar -but not exactly the same, questions.)

|||

For clarification, in the demonstration procedure I posted earlier, I used a PRINT statement when checking if @.LockResult. Normally, I would raise an error so that the calling application (or procedure) can capture the error number and react accordingly.

First, create the Error in the database, (Use whatever Error Number ( > 50000 ) and message you wish.)

Code Snippet

EXECUTE sp_addmessage
@.msgnum = 51001,
@.severity = 16,
@.msgtext = N'Resource NOT Available',
@.lang = 'us_english',
@.replace = REPLACE

Then in the procedure:

Code Snippet

IF @.LockResult <> 0
BEGIN
ROLLBACK TRANSACTION
RAISERROR ( 51001, 16, 1 )
RETURN
END

Now the application (or calling procedure) can handle ErrorNumber 51001 as deemed necessary. Wait a few seconds and Re-Submit perhaps...

|||

Arnie Rowland wrote:

One useful approach is to force all data changes through Stored Procedures (No direct table access).

SPs are really how I'm trying to do it. Thanks for hinting about sp_getapplock. It looks like a 'lock' object (mutex, critical section) in conventional programming language. However, I think it is too coarse-grain. All the users who wish to change their last names will lock each other. In addition, this lock shell be taken by parties who affect the last names in different way (removing the record, for instance). And you get the whole database locked/synchronized by one big lock. The granularity of automatic transactional locks are one record. However, using full db object names like db_name.table_1.row_id.field_x we can outperform the locking granularity down to field finesse. These are my first ideas about the procedure. Thanks for the hint.

Arnie Rowland wrote:

Logic follows defined mathematical sylogisms.

I was learnt it is the math, which is a science of proving, which is based on logic But I think I can understand the difference between logic and rules now. Thank you for the explanation.

Arnie Rowland wrote:

Of course, I realize that you know what I'm talking about. I'm using your posting to help others that may be reading, and still learning, and still uncertain... (So I hope you accept the 'lecture' in that guise. I often respond to a posting with the realization that I may also be responding to other readers with similar -but not exactly the same, questions.)


That is ok, I am a communist. The sharing is a means of saving resources and a condition of intelligent life survival on the planet Earth.

|||

You're right, using sp_getapplock is kind of 'course-grained'; sp_getapplock creates a 'lock' object, using the name you provide. The only thing 'locked' is the entry to the sproc code. The included (and required) TRANSACTION locks the underlying data. However, blocking others from using the sproc code in practice creates a single 'gateway' through which all controlled activity must pass, effectively forcing serialization of the controlled activity. I would want to make the process as streamlined and efficient as possible in order to cause the minimal amount of queue stacking.

In a very high performance / high utilitzation system, using sp_getapplock just may prove to be to much of a 'bottleneck'. But, if one was concerned about reading into an active TRANSACTION, and the effects on other activities as a result of being able to read into an active TRANSACTION, sp_getapplock is one way to reduce the 'paranoia'. It may be too 'heavy-handed' for most use.

...deleted...

Keep up the good questions.

Business Scorecard Manager 2005 server requirements

Attempting to install Microsoft Business Scorecard Manager 2005 on a server
that has all components of SQL Server 2005 installed including Reporting
Services w/IIS. The install lists several pre-requisites that are not on
server:
Microsoft XML Core Services (MSXML) 4.0
Microsoft OLE DB Provider for OLAP Services (MSOLAP) 2000 SP4 (8.00.2039)
Microsoft ADOMD.NET 8.0
These pre-requisites look like something that would be present on a SQL
Server 2000 install, which is not on this server. If these 2000 components
are installed, will it overwrite something critical in SQL Server 2005?Hi,
there is equivalent 2005 tools / drivers
msxml 6
OLAP drivers v9
ADOMD.Net
download here:
http://www.microsoft.com/downloads/...&DisplayLang=en
"bhorwatt" <bhorwatt@.discussions.microsoft.com> wrote in message
news:A64F6A76-0680-436A-902F-37CD80FB27AD@.microsoft.com...
> Attempting to install Microsoft Business Scorecard Manager 2005 on a
> server
> that has all components of SQL Server 2005 installed including Reporting
> Services w/IIS. The install lists several pre-requisites that are not on
> server:
> Microsoft XML Core Services (MSXML) 4.0
> Microsoft OLE DB Provider for OLAP Services (MSOLAP) 2000 SP4 (8.00.2039)
> Microsoft ADOMD.NET 8.0
> These pre-requisites look like something that would be present on a SQL
> Server 2000 install, which is not on this server. If these 2000
> components
> are installed, will it overwrite something critical in SQL Server 2005?
>

Business Scorecard Manager 2005 server requirements

Attempting to install Microsoft Business Scorecard Manager 2005 on a server
that has all components of SQL Server 2005 installed including Reporting
Services w/IIS. The install lists several pre-requisites that are not on
server:
Microsoft XML Core Services (MSXML) 4.0
Microsoft OLE DB Provider for OLAP Services (MSOLAP) 2000 SP4 (8.00.2039)
Microsoft ADOMD.NET 8.0
These pre-requisites look like something that would be present on a SQL
Server 2000 install, which is not on this server. If these 2000 components
are installed, will it overwrite something critical in SQL Server 2005?Hi,
there is equivalent 2005 tools / drivers
msxml 6
OLAP drivers v9
ADOMD.Net
download here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=df0ba5aa-b4bd-4705-aa0a-b477ba72a9cb&DisplayLang=en
"bhorwatt" <bhorwatt@.discussions.microsoft.com> wrote in message
news:A64F6A76-0680-436A-902F-37CD80FB27AD@.microsoft.com...
> Attempting to install Microsoft Business Scorecard Manager 2005 on a
> server
> that has all components of SQL Server 2005 installed including Reporting
> Services w/IIS. The install lists several pre-requisites that are not on
> server:
> Microsoft XML Core Services (MSXML) 4.0
> Microsoft OLE DB Provider for OLAP Services (MSOLAP) 2000 SP4 (8.00.2039)
> Microsoft ADOMD.NET 8.0
> These pre-requisites look like something that would be present on a SQL
> Server 2000 install, which is not on this server. If these 2000
> components
> are installed, will it overwrite something critical in SQL Server 2005?
>

Business Scorecard Manager 2005

Has anyone used this as a front-end to ssas 2005 cubes? I haven't downloaded the demo and fiddled with it yet and don't see any discussion of it here, is it any good?

The organization I work for won't roll out excel 12 till 2008 at the earliest, excel 2003 has issues with ssas 2005, and proclarity hasn't been integrated into the MS suite yet. What can i use as a front-end for my cubes? The political environment here favors Business Objects for everything but I feel that is like using Novellfor Networking, a good solution 20 years ago...

Thanks in advance...

Wino

You can use BSM2005 as a front-end tool, however it is mainly used for KPI:s(Key performance indicators).

I do not see it as a good cube browser tool and it uses Office Webcomponents 2003 internally. It is a Balanced Scorecard browser.

ProClarity Analytics will still be sold as a complete solution during the next year. I think it is better and cheaper than Business objects. Microsoft have cut the license fees with 30 percent this summer.

Have a look at this link for more information: http://charliem.wordpress.com/2006/10/03/performancepoint-biz-is-coming/

HTH

Thomas Ivarsson

Business Scorecard Manager

hello -
We are looking for a 3rd party tool for dashboarding, gauges and Key
Performance Indicators (KPIs).
We are already using SSRS 2005 for reporting purposes.
Is MS's Business Scorecard Manager
(http://office.microsoft.com/en-us/FX012225041033.aspx) anyway related
to SSRS 2005?
Is Business Scorecard Manager another BI module in SQL Server 2005?
any inputs are appreciated.
thanks
- jasthiWe just had a demo for Business Scorecard Manager. It is a separate
application that runs on Sharepoint (Services or Portal). It can pull data
from any datasource directly or through cubes from multiple datasources. It
can incorporate reports from Reporting Services (2000 or 2005).
I'm totally new at Scorecard Manager, but this is my understanding so far.
So anyone can correct me or add more...
"siva.jasthi@.gmail.com" wrote:
> hello -
> We are looking for a 3rd party tool for dashboarding, gauges and Key
> Performance Indicators (KPIs).
> We are already using SSRS 2005 for reporting purposes.
> Is MS's Business Scorecard Manager
> (http://office.microsoft.com/en-us/FX012225041033.aspx) anyway related
> to SSRS 2005?
> Is Business Scorecard Manager another BI module in SQL Server 2005?
> any inputs are appreciated.
> thanks
> - jasthi
>

Business Scorecard Integration with SQL server 2000/2005

I was trying to install Business Scorecard Manager Server , for that i have installed SQL server 2000, Analysis services and Service Pack 4 and also have taken mixed mode of authentication . Then i have installed sharepoint portal server 2003 and extended a site .
Now when i install BSM server at the end of installation it gives me error that user administrator does not exist in Scorecard server database( Database which is created during installation process itself ). This error comes when installation package is trying to create a query string to already existing SQL server database.
Same thing happens even if i take SQL server 2005.
Any help in this regard will be really appreciated.

Thanks
Inder

If this problem occurs during the installation of Business Scorecard Manager Server, then you should post on a forum dedicated to that product.

For example, I see there are some posts about installation issues with BSMS on the following forum: ISV Open Discussions. Try posting your question on that fourm if it was not already answered there.

Thanks
Laurentiu

|||

Please see click-by-click install instructions available from http://cpminsider.com/deployment.aspx

Business Scorecard Integration with SQL server 2000/2005

I was trying to install Business Scorecard Manager Server , for that i have installed SQL server 2000, Analysis services and Service Pack 4 and also have taken mixed mode of authentication . Then i have installed sharepoint portal server 2003 and extended a site .
Now when i install BSM server at the end of installation it gives me error that user administrator does not exist in Scorecard server database( Database which is created during installation process itself ). This error comes when installation package is trying to create a query string to already existing SQL server database.
Same thing happens even if i take SQL server 2005.
Any help in this regard will be really appreciated.

Thanks
Inder

If this problem occurs during the installation of Business Scorecard Manager Server, then you should post on a forum dedicated to that product.

For example, I see there are some posts about installation issues with BSMS on the following forum: ISV Open Discussions. Try posting your question on that fourm if it was not already answered there.

Thanks
Laurentiu

|||

Please see click-by-click install instructions available from http://cpminsider.com/deployment.aspx

Business Rules Table

Which is the best practice for Business Rules

a. Hardcoded Column Names

b. Rowwise values RuleName, Criteria

Please suggest the best method

That depends upon your implementation of the Business Rules, there is no rule of thumb for it. Do you implement the rules in the logic of SQL Server or your middle-tier ? Which approach did you use to validate the rules ?

Jens K. Suessmeyer

http://www.sqlserver2005.de

|||we implement the rules in the middle tier

|||

It always better to use the Business Rules on the Middle Tier. That’s what all the Middle Tier apps says, don't use your middle tier as a wrapper of your SP, get the data and do it on middle tier.

It might be very easy to maintain & easy to implement. You can utilize all the language features while do this. But, DB sometimes you have to stay on the fixed boundary & limitations.

Business Rules Integration in SSIS

Similar to the BizTalk Business Rules engine does the SSIS provide any support for independent business rule management?
I would guess that through the use of Embedded CLR we can invoke the Business rules stored in the Business Rules Engine (either Biztalk Rule Engine or ILOG Rule Engine). Is there a construct in the SSIS similar to the BizTalk Call Rules Construct in the Biztalk Orchestration.

If this mechanism is not the preferred mechanism then are there any other mechanisms offered by SSIS which facilitate the use of Business Rule Engine Components within SSIS which make it easier to manage the business rules outside of the deployment.

Thanks
You can use a Script Component or Script Task to call any .NET resource from within the data flow. There isn't a built-in rules engine in SSIS, though.|||But the script manager is restricted to VB.NET as the code development language. Is there a way we can use C# as the code development language.

Is there an existing prototype for the development of the code.

Regards
Vinit
|||

learning4fun wrote:

But the script manager is restricted to VB.NET as the code development language. Is there a way we can use C# as the code development language.

No, not yet. You'd have to reference your C# stuff from within your VB.net code.|||

SQL Server 2008 will support script components written with C# (at least, the current CTP supports it).

You can also create your own SSIS components in C#, and use them directly. Or build a C# assembly, and reference it from the script task, as Phil mentions.

Business Rules Integration in SSIS

Similar to the BizTalk Business Rules engine does the SSIS provide any support for independent business rule management?
I would guess that through the use of Embedded CLR we can invoke the Business rules stored in the Business Rules Engine (either Biztalk Rule Engine or ILOG Rule Engine). Is there a construct in the SSIS similar to the BizTalk Call Rules Construct in the Biztalk Orchestration.

If this mechanism is not the preferred mechanism then are there any other mechanisms offered by SSIS which facilitate the use of Business Rule Engine Components within SSIS which make it easier to manage the business rules outside of the deployment.

Thanks
You can use a Script Component or Script Task to call any .NET resource from within the data flow. There isn't a built-in rules engine in SSIS, though.|||But the script manager is restricted to VB.NET as the code development language. Is there a way we can use C# as the code development language.

Is there an existing prototype for the development of the code.

Regards
Vinit
|||

learning4fun wrote:

But the script manager is restricted to VB.NET as the code development language. Is there a way we can use C# as the code development language.

No, not yet. You'd have to reference your C# stuff from within your VB.net code.|||

SQL Server 2008 will support script components written with C# (at least, the current CTP supports it).

You can also create your own SSIS components in C#, and use them directly. Or build a C# assembly, and reference it from the script task, as Phil mentions.

Business Rules -> Using Lots of UDFs & Views

I am in the process of building my first "large scale" database system (after 15+ years of developing Windows Apps and Web Apps) - so I am very VERY "Green" when it comes to Database development & SQL et al.

A little context setting: I am building a multi-tier Statistical Analysis & Reporting system where the "end product" will be Reports created in Reporting Services. There are a ton of business rules that I am implementing in a Business Logic Tier (hidden from the "end user" by a Data Access Tier) comprised of SQL in the form of UDFs (scalar) and Views.

The question: I have been reading that UDFs cause a performance hit compared to things like in-line functions. Alot of the Rules (implemented as Scalar UDFs) build on each other so that the output of UDF #1 is used as input to UDF #2.

So far I am implementing the Business Logic as a hierarchy of Views (7 Views to be exact) with each view implementing multiple Rules; each Rule basically a Scalar UDF. Below is an example of what I am doing:

Example

View #1 -> Select A, B, C, funcX1(A) as ValueX1, funcY1(B, C) as ValueY1 FROM someView

Then

View #2 -> Select A, B, C, ValueX1, ValueY1, funcX2 (ValueX1) as ValueX2, funcY2(ValueY2) as ValueY2 FROM View#1

Currently I have a hierarchy of 7 views that each use UDFs to implement the Business Rules, where the value calculated from a UDF in one View is used as input to UDF in a View further down the Hierarchy.

Is there a better way of implementing all of the Rules instead of using multiple Views with a bunch of UDFs?

The "end product" dataset is then exposed as a Stored Procedure to the reports in Reporting Services.

Any help would be GREATLY appreciated.

Thanks!
- marty

You can make View #1 -> Select A, B, C, funcX1(A) as ValueX1, funcY1(B, C) as ValueY1 FROM someView
and

View #2 -> Select A, B, C, ValueX1, ValueY1, funcX2 (ValueX1) as ValueX2, funcY2(ValueY2) as ValueY2 FROM View#1

as indexed views (if your func's are deterministic ) that will improve performance

see Books Online (look for "indexed views")

To the other part I see a reccurence in building your views; another new feature of SQL 2005 is "common table expressions" that can permit creating recursive queries (look Books Online for "common table expressions" )

|||

Hi!

Well it seems you already got an answer, but here something I would like to add:

For business rules:

use 3NF design (or dw design), use constraints (fk, check constraints, uk/indexes) whenever possible

and use stored procedures as access layer (when not using dw design).

With stored procedures as layer between you highly control access and have freedom to change

your implementation (table design) behind the scenes without breaking code.

This comes escpecially useful, when you have to solve performance problems!

|||You guys Rock!

Using a CTE works like a charm! Using a CTE in a View allows me to use the output of 1 function as input to a 2nd function within the same View.

I am I'm now looking into Indexed Views to see about improving the performance of my Business Rules.

Thanks Again!

Business Rules & Referential Integrity

Good Day All.
I have been trying to find general answers to a very specific question about
application design and implementation using DotNet.
My situation is that I would like to design and implement a Web Application.
I would like to avoid using datasets in favour of the datareader to
development time, increased application effeciency and a number of reasons
mentioned in the MSDN Library entitled "Recommendations for Data Access
Strategies".
Making this decision seems to pretty much end any ideas of creating a
distributed application.
I was hoping to implement the business logic and referential integrity in
stored procedures at the database. A quick example would be the following:-
CREATE PROCEDURE dbo.InsertItem
(
@.IID int = NULL OUTPUT,
@.Item_ITID int = NULL,
@.Item_IBID int = NULL,
@.ItemModel varchar(50) = NULL,
@.ItemColour varchar(50) = NULL,
@.ItemSerialNo varchar(50) = NULL,
@.ItemBarCode Image = NULL,
@.ItemDatePurchased datetime = NULL,
@.ItemPrice money = NULL,
@.ItemVAT money = NULL,
@.Item_IRID int = NULL,
@.ItemValue money = NULL,
@.ItemImg Image = NULL,
@.ItemImgPath varchar(255) = NULL,
@.Item_IGID int = NULL,
@.Item_IIID int = NULL,
@.ItemNotes varchar(255) = NULL,
@.Item_SPID int = NULL,
@.Item_SLID int = NULL,
@.Item_TXID int = NULL
)
AS
-- @.msgnum = (nn=DBID(10),nnn=TID(001),nn=OPID,nnn=ERRID)
SET NOCOUNT OFF;
DECLARE @.return_status int
-- CHECK Is Item Type Valid?
EXECUTE @.return_status = Exists_ItemType @.Item_ITID
IF @.return_status <> 1
raiserror(1001002001, 16, 1)
-- CHECK Is Item Brand Valid?
EXECUTE @.return_status = Exists_ItemBrand @.Item_IBID
IF @.return_status <> 1
raiserror(1001002002, 16, 1)
-- CHECK Is Item Receipt Valid - NOT MANDATORY?
IF ISNULL(@.Item_IRID, 0) <> 0 BEGIN
EXECUTE @.return_status = Exists_ItemReceipt @.Item_IRID
IF @.return_status <> 1
raiserror(1001002003, 16, 1)
END
-- CHECK Is Item Guarantee Valid - NOT MANDATORY?
IF ISNULL(@.Item_IGID, 0) <> 0 BEGIN
EXECUTE @.return_status = Exists_ItemGuarantee @.Item_IGID
IF @.return_status <> 1
raiserror(1001002004, 16, 1)
END
-- CHECK Is Item Insurance Valid - NOT MANDATORY?
IF ISNULL(@.Item_IIID, 0) <> 0 BEGIN
EXECUTE @.return_status = Exists_ItemInsurance @.Item_IIID
IF @.return_status <> 1
raiserror(1001002005, 16, 1)
END
INSERT INTO Item
(Item_ITID, Item_IBID, ItemModel, ItemColour,
ItemSerialNo, ItemDatePurchased, ItemPrice, ItemVAT, Item_IRID, ItemValue,
Item_IGID,
Item_IIID, ItemNotes, Item_SPID, Item_SLID,
Item_TXID, AO)
VALUES (@.Item_ITID, @.Item_IBID, @.ItemModel, @.ItemColour, @.ItemSerialNo,
@.ItemDatePurchased, @.ItemPrice, @.ItemVAT, @.Item_IRID, @.ItemValue,
@.Item_IGID, @.Item_IIID, @.ItemNotes, @.Item_SPID,
@.Item_SLID, @.Item_TXID, 2)
SET @.return_status = @.@.ERROR
IF @.return_status <> 0
raiserror(1001002006, 16, 1, @.return_status)
ELSE
SELECT @.IID = SCOPE_IDENTITY()
GO
The above procedure would attempt to ensure business logic and referetial
integrity by using other stored procedures.
Any integrity checking that fails would result in a user defined error
number and message being raised and the exception caught within the Web
Application.
1) Does this design/approach seem appropriate or is it a normalpractice?
2) I understand that it is possible for the integrity to still be
compromised. Should I also implement Declarative Referential Integrity by
using relationships and foreign key constraints. Is this normal practice?
3) Attempting to code referential integrity allows me to raise specific
errors that can easily be interpreted and handled by my application however
a foreign key constraint error seems impossible for me to interpret and give
any positive feedback to the user.
I hope I have mase myself clear and someone could shed some light on these
processes.
Kind Regards
Paul Johnson.
Paul,
Your questions are very clever.

> 1) Does this design/approach seem appropriate or is it a
normalpractice?
I've seen many different practices, so I wuld not like to answer to this.

> 2) I understand that it is possible for the integrity to still be
> compromised. Should I also implement Declarative Referential Integrity by
> using relationships and foreign key constraints. Is this normal practice?
I alway suggest to implement DRI as well. The more important the rule is,
the closer to the data it should be.

> 3) Attempting to code referential integrity allows me to raise specific
> errors that can easily be interpreted and handled by my application
however
> a foreign key constraint error seems impossible for me to interpret and
give
> any positive feedback to the user.
Yes, you are right - with DRI, you can't have your own error messages.
Still, you can catch them in your code. You can read a lot of good info on
error handling in two Erland's articles at http://www.sommarskog.se/.
Dejan Sarka, SQL Server MVP
Associate Mentor
www.SolidQualityLearning.com
|||Thank you kindly for your reply.
It has now been made clear to me that if I use DRI I can capture there error
number which will reveal the type of constraint violated and then possibly
use any constraint name I have used to identify the constraint and provide
better feedback
Thank you also for the website link.
"Dejan Sarka" <dejan_please_reply_to_newsgroups.sarka@.avtenta.si > wrote in
message news:OgiwKUG0EHA.2600@.TK2MSFTNGP09.phx.gbl...[vbcol=seagreen]
> Paul,
> Your questions are very clever.
> normalpractice?
> I've seen many different practices, so I wuld not like to answer to this.
by[vbcol=seagreen]
practice?[vbcol=seagreen]
> I alway suggest to implement DRI as well. The more important the rule is,
> the closer to the data it should be.
specific
> however
> give
> Yes, you are right - with DRI, you can't have your own error messages.
> Still, you can catch them in your code. You can read a lot of good info on
> error handling in two Erland's articles at http://www.sommarskog.se/.
> --
> Dejan Sarka, SQL Server MVP
> Associate Mentor
> www.SolidQualityLearning.com
>

business process logic in stored procedures

Hi All,
I've always tried to think of and use sql as being a tool to quickly
retrieve / update relevant data, and let other parts of a system handle
the decisions as to what needs to be done to the data. However I keep
coming across (and sometimes find myself creating) the situation where
there are massive stored procedures which will have several different
statements, pulling data from loads of tables and updating others based
on some business logic.
First question: is this a bad thing?
as I see it this has the advantage that updates can be expressed as a
function to be applied over a whole table, making the process much
faster than if the data was changed in a business layer, then
propogated to the database. However the "code" is hard for someone else
to understand, and hard to re-use/improve. I often find that processes
which would be modelled with quite a large framework of objects are
condensed down into a large stored procedure, such that to anyone else
looking at it will just see a mass of update insert and selects with no
idea why.
Second question: when to do it?
I have found that at times it's unaviodable, either for performance or
simply the ease of access to all the data that I need to use a stored
proc, does anyone have any rules of thumb as to when it's a good/bad
idea?
Third question: what are the alternatives?
I'd hope that there are other ways to get around the problems that
people are solving using sql, does anyone have any links/suggestions of
how to approach things that people would often resort to sql for, using
more maintainable methods?
I could probably rattle on for days on this issue, but I'm hoping maybe
people will be able to suggest some best practice about this.
Cheers
WillWill
1),2)
I remember some times ago it was discussion about this subject and some
people say that they put the business logic in the stored procedure and
some people say they do not but only code/dll....
I have been praticipate in some projects where we put all login in to
stored procedure and it was relaible/readable and worder very good in terms
of perfomance as well
So the answer will be it depends on YOUR project's business logic and sure
if you can test 'somehow' and make the right decision
3) Well if you develop multi tier application the question is where to put
BL in data layer (dll that access to the database) or directly to stored
procedures
Again , I have seen many projects where people (including me) put the logic
into SP and some projects where people put the BL (including me) in the
code, so it is really DEPENDS on many things.
If you are lucky and Erlan ( and many others here at forum) jump in , it is
interesting to see what does he suggest ?
"Will" <william_pegg@.yahoo.co.uk> wrote in message
news:1144324357.527781.15400@.e56g2000cwe.googlegroups.com...
> Hi All,
> I've always tried to think of and use sql as being a tool to quickly
> retrieve / update relevant data, and let other parts of a system handle
> the decisions as to what needs to be done to the data. However I keep
> coming across (and sometimes find myself creating) the situation where
> there are massive stored procedures which will have several different
> statements, pulling data from loads of tables and updating others based
> on some business logic.
> First question: is this a bad thing?
> as I see it this has the advantage that updates can be expressed as a
> function to be applied over a whole table, making the process much
> faster than if the data was changed in a business layer, then
> propogated to the database. However the "code" is hard for someone else
> to understand, and hard to re-use/improve. I often find that processes
> which would be modelled with quite a large framework of objects are
> condensed down into a large stored procedure, such that to anyone else
> looking at it will just see a mass of update insert and selects with no
> idea why.
> Second question: when to do it?
> I have found that at times it's unaviodable, either for performance or
> simply the ease of access to all the data that I need to use a stored
> proc, does anyone have any rules of thumb as to when it's a good/bad
> idea?
> Third question: what are the alternatives?
> I'd hope that there are other ways to get around the problems that
> people are solving using sql, does anyone have any links/suggestions of
> how to approach things that people would often resort to sql for, using
> more maintainable methods?
> I could probably rattle on for days on this issue, but I'm hoping maybe
> people will be able to suggest some best practice about this.
> Cheers
> Will
>

Business Objects vs. Analysis Services and IT Bullies

Hello,

I've been working on implementing an SSAS solution for my department. The Proof of Concept is working very well and I am ready to implement it. However, some bullies from IT have come in and said that cubes are not the correct way to go about this (even though it is working) and that we need to call Business Objects and have them come in and tell us what they can provide.

To create my solution, I am using SSIS, SSRS, and SSAS. It is a great package that has everything in it and, frankly, I don't want to have to redo all my work.

When Business Solutions comes in I want to be able to ask them questions (objectively and fairly) about what they can provide us. If they have a better solution, then I should take it, but if it is sort of borderline, I want to be able to "win" with Microsoft and SQL Server 2005. One quick example that I know of is that when sending a report from Business Objects to Excel, the format is not always pretty and/or easy to deal with.

Any suggestions about a comparison list or feature by feature list of the two? Or maybe just some pointed questions about can Business Objects do X? Maybe questions about speed, stability, "plays well with others (Oracle)", etc.

Thank you for the help.

-Gumbatman

Hello! Here is my list:

Does BO have their own relational database and ETL tool?

Why should you pay for BO when you have SSAS, SSRS, SSIS, SQL Server 2005 bundled and without extra license cost?|||

Hi,

I implemeted a DW project last year, using SSIS then both Business Objects and SSAS on top of that. Have to say that the amount of time spent developing the BO universe and reports took almost as long as the ETL process (generally reporting times are far shorter).

From a support and development aspect, the extra level of design which is built into BO is a nightmare to support. You will end up needing people who are experts in both SQL and BO, not many, and those are all probably contracting.

Did notice that if your reports get complicated or the BO Universe does magical things, the performance hit was on the SQL Database. If the database is a transactional one rather than a DW you could encounter problems with performance. I don't think it has quite the same query performance as SSAS, although BO could do some very clever things that SSAS couldn't or would be very difficult to do (more in business modelling).

It also depends how many people are using the reports, more users probably more hits on the underlying database; I don't think there is any caching like in SSAS, so if someone runs the same report it will have to query the database again rather than hit the cache.

Don't think there are aggregations in BO, we didn't use any. Think we create table functions to aggregate things up to differnt levels of granularity.

In my opinion if you have a BO team in the company, it is a route you could use as well as SSAS. Allows you to migrate away from BO into a SSAS world..

The improvements of Excel 2007, reporting services in 2008 and proclarity all make BO look basic and dated.

Sure if you contact Microsoft and asked them the question, they would list a load of things. Probably have a fact file on the matter.

Sorry for the long reply!

Hope that helps

Matt

|||

Matt and Thomas,

Thank you for the answers. This is great information and will go a long way for me.

-Gumbatman

Business Objects vs. Analysis Services and IT Bullies

Hello,

I've been working on implementing an SSAS solution for my department. The Proof of Concept is working very well and I am ready to implement it. However, some bullies from IT have come in and said that cubes are not the correct way to go about this (even though it is working) and that we need to call Business Objects and have them come in and tell us what they can provide.

To create my solution, I am using SSIS, SSRS, and SSAS. It is a great package that has everything in it and, frankly, I don't want to have to redo all my work.

When Business Solutions comes in I want to be able to ask them questions (objectively and fairly) about what they can provide us. If they have a better solution, then I should take it, but if it is sort of borderline, I want to be able to "win" with Microsoft and SQL Server 2005. One quick example that I know of is that when sending a report from Business Objects to Excel, the format is not always pretty and/or easy to deal with.

Any suggestions about a comparison list or feature by feature list of the two? Or maybe just some pointed questions about can Business Objects do X? Maybe questions about speed, stability, "plays well with others (Oracle)", etc.

Thank you for the help.

-Gumbatman

Hello! Here is my list:

Does BO have their own relational database and ETL tool?

Why should you pay for BO when you have SSAS, SSRS, SSIS, SQL Server 2005 bundled and without extra license cost?|||

Hi,

I implemeted a DW project last year, using SSIS then both Business Objects and SSAS on top of that. Have to say that the amount of time spent developing the BO universe and reports took almost as long as the ETL process (generally reporting times are far shorter).

From a support and development aspect, the extra level of design which is built into BO is a nightmare to support. You will end up needing people who are experts in both SQL and BO, not many, and those are all probably contracting.

Did notice that if your reports get complicated or the BO Universe does magical things, the performance hit was on the SQL Database. If the database is a transactional one rather than a DW you could encounter problems with performance. I don't think it has quite the same query performance as SSAS, although BO could do some very clever things that SSAS couldn't or would be very difficult to do (more in business modelling).

It also depends how many people are using the reports, more users probably more hits on the underlying database; I don't think there is any caching like in SSAS, so if someone runs the same report it will have to query the database again rather than hit the cache.

Don't think there are aggregations in BO, we didn't use any. Think we create table functions to aggregate things up to differnt levels of granularity.

In my opinion if you have a BO team in the company, it is a route you could use as well as SSAS. Allows you to migrate away from BO into a SSAS world..

The improvements of Excel 2007, reporting services in 2008 and proclarity all make BO look basic and dated.

Sure if you contact Microsoft and asked them the question, they would list a load of things. Probably have a fact file on the matter.

Sorry for the long reply!

Hope that helps

Matt

|||

Matt and Thomas,

Thank you for the answers. This is great information and will go a long way for me.

-Gumbatman

Business Objects as datasource

Hi!
I've read somewhere that it is possible to use business objects as a data
source for the reporting services.
Can someone tell me where I can find further information about it?
Thanks
Klaus Aschenbrenner
MVP Visual C#
www.csharp.at, www.anecon.com
http://weblogs.asp.net/klaus.aschenbrennerWhere do you have seen that?
It's marvelous if it's possible...
Nicolas
"Klaus Aschenbrenner" wrote:
> Hi!
> I've read somewhere that it is possible to use business objects as a data
> source for the reporting services.
> Can someone tell me where I can find further information about it?
> Thanks
> Klaus Aschenbrenner
> MVP Visual C#
> www.csharp.at, www.anecon.com
> http://weblogs.asp.net/klaus.aschenbrenner
>
>|||I am not sure of the datasources of the previous versions of BusinessObjects
but the current version BO XI uses a MySQL backend but you can use MSDE or
SQL Server if you so choose. So as long as you can connect to the server with
a valid login you shouldn't have any problems reporting off of it just like
any other SQL Server database.
"Nicolas BRESSAN" wrote:
> Where do you have seen that?
> It's marvelous if it's possible...
> Nicolas
> "Klaus Aschenbrenner" wrote:
> > Hi!
> >
> > I've read somewhere that it is possible to use business objects as a data
> > source for the reporting services.
> > Can someone tell me where I can find further information about it?
> >
> > Thanks
> >
> > Klaus Aschenbrenner
> > MVP Visual C#
> > www.csharp.at, www.anecon.com
> > http://weblogs.asp.net/klaus.aschenbrenner
> >
> >
> >|||I think he means business objects not Business Objects (i.e. his own
business objects not the company).
Assuming I have the right interpretation you can create your own data
extension that would allow you to do this but it is not trivial. With VS
2005 and RS 2005 there will be two new controls: a webform and a winform
control. They have a local mode where you had it a dataset and a report and
away it goes. Since you can create a dataset in dotnet out of business
objects this should work for you. Note that local mode does have some
limitations (for instance no subscriptions).
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Carl" <Carl@.discussions.microsoft.com> wrote in message
news:F32A8134-66D3-438B-97B6-0E066051EF8C@.microsoft.com...
>I am not sure of the datasources of the previous versions of
>BusinessObjects
> but the current version BO XI uses a MySQL backend but you can use MSDE or
> SQL Server if you so choose. So as long as you can connect to the server
> with
> a valid login you shouldn't have any problems reporting off of it just
> like
> any other SQL Server database.
>
> "Nicolas BRESSAN" wrote:
>> Where do you have seen that?
>> It's marvelous if it's possible...
>> Nicolas
>> "Klaus Aschenbrenner" wrote:
>> > Hi!
>> >
>> > I've read somewhere that it is possible to use business objects as a
>> > data
>> > source for the reporting services.
>> > Can someone tell me where I can find further information about it?
>> >
>> > Thanks
>> >
>> > Klaus Aschenbrenner
>> > MVP Visual C#
>> > www.csharp.at, www.anecon.com
>> > http://weblogs.asp.net/klaus.aschenbrenner
>> >
>> >
>> >|||I am also interested in finding out how to report off of my own business
objects in RS2005. Is there a simple way, without going through web services
or dataset, to use my business objects as datasource? Even a simpler
experiment: how do I use a collection of simple objects (strings, for
instance) as my datasource in RS2005? DataDynamic's ActiveReports allows you
to pass a collection to a report as its datasoure without any extra work,
such as going through a web service or transforming the collection to a
dataset, etc.;
Thanks in advance.
Pierre
"Bruce L-C [MVP]" wrote:
> I think he means business objects not Business Objects (i.e. his own
> business objects not the company).
> Assuming I have the right interpretation you can create your own data
> extension that would allow you to do this but it is not trivial. With VS
> 2005 and RS 2005 there will be two new controls: a webform and a winform
> control. They have a local mode where you had it a dataset and a report and
> away it goes. Since you can create a dataset in dotnet out of business
> objects this should work for you. Note that local mode does have some
> limitations (for instance no subscriptions).
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
>
> "Carl" <Carl@.discussions.microsoft.com> wrote in message
> news:F32A8134-66D3-438B-97B6-0E066051EF8C@.microsoft.com...
> >I am not sure of the datasources of the previous versions of
> >BusinessObjects
> > but the current version BO XI uses a MySQL backend but you can use MSDE or
> > SQL Server if you so choose. So as long as you can connect to the server
> > with
> > a valid login you shouldn't have any problems reporting off of it just
> > like
> > any other SQL Server database.
> >
> >
> >
> > "Nicolas BRESSAN" wrote:
> >
> >> Where do you have seen that?
> >>
> >> It's marvelous if it's possible...
> >>
> >> Nicolas
> >>
> >> "Klaus Aschenbrenner" wrote:
> >>
> >> > Hi!
> >> >
> >> > I've read somewhere that it is possible to use business objects as a
> >> > data
> >> > source for the reporting services.
> >> > Can someone tell me where I can find further information about it?
> >> >
> >> > Thanks
> >> >
> >> > Klaus Aschenbrenner
> >> > MVP Visual C#
> >> > www.csharp.at, www.anecon.com
> >> > http://weblogs.asp.net/klaus.aschenbrenner
> >> >
> >> >
> >> >
>
>|||I have used the local mode passing it a table (not a dataset, it wants a
table). Reading the help there is the ability to use your own business
objects. Personally, filling a table is pretty easy and isn't a bad way to
go.
Server mode you can do web service or create a data processing extension. I
am not aware of any other way in server mode to do this.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"pcho" <pcho@.discussions.microsoft.com> wrote in message
news:6D08FD6E-2055-4096-9123-14207F7CA7FE@.microsoft.com...
>I am also interested in finding out how to report off of my own business
> objects in RS2005. Is there a simple way, without going through web
> services
> or dataset, to use my business objects as datasource? Even a simpler
> experiment: how do I use a collection of simple objects (strings, for
> instance) as my datasource in RS2005? DataDynamic's ActiveReports allows
> you
> to pass a collection to a report as its datasoure without any extra work,
> such as going through a web service or transforming the collection to a
> dataset, etc.;
> Thanks in advance.
> Pierre
>
> "Bruce L-C [MVP]" wrote:
>> I think he means business objects not Business Objects (i.e. his own
>> business objects not the company).
>> Assuming I have the right interpretation you can create your own data
>> extension that would allow you to do this but it is not trivial. With VS
>> 2005 and RS 2005 there will be two new controls: a webform and a winform
>> control. They have a local mode where you had it a dataset and a report
>> and
>> away it goes. Since you can create a dataset in dotnet out of business
>> objects this should work for you. Note that local mode does have some
>> limitations (for instance no subscriptions).
>>
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>>
>> "Carl" <Carl@.discussions.microsoft.com> wrote in message
>> news:F32A8134-66D3-438B-97B6-0E066051EF8C@.microsoft.com...
>> >I am not sure of the datasources of the previous versions of
>> >BusinessObjects
>> > but the current version BO XI uses a MySQL backend but you can use MSDE
>> > or
>> > SQL Server if you so choose. So as long as you can connect to the
>> > server
>> > with
>> > a valid login you shouldn't have any problems reporting off of it just
>> > like
>> > any other SQL Server database.
>> >
>> >
>> >
>> > "Nicolas BRESSAN" wrote:
>> >
>> >> Where do you have seen that?
>> >>
>> >> It's marvelous if it's possible...
>> >>
>> >> Nicolas
>> >>
>> >> "Klaus Aschenbrenner" wrote:
>> >>
>> >> > Hi!
>> >> >
>> >> > I've read somewhere that it is possible to use business objects as a
>> >> > data
>> >> > source for the reporting services.
>> >> > Can someone tell me where I can find further information about it?
>> >> >
>> >> > Thanks
>> >> >
>> >> > Klaus Aschenbrenner
>> >> > MVP Visual C#
>> >> > www.csharp.at, www.anecon.com
>> >> > http://weblogs.asp.net/klaus.aschenbrenner
>> >> >
>> >> >
>> >> >
>>|||Thank you very much for your answers Bruce. Could you please point me to the
direction where I can find more information on local mode v.s. server mode?
Thanks again!
Pierre
"Bruce L-C [MVP]" wrote:
> I have used the local mode passing it a table (not a dataset, it wants a
> table). Reading the help there is the ability to use your own business
> objects. Personally, filling a table is pretty easy and isn't a bad way to
> go.
> Server mode you can do web service or create a data processing extension. I
> am not aware of any other way in server mode to do this.
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "pcho" <pcho@.discussions.microsoft.com> wrote in message
> news:6D08FD6E-2055-4096-9123-14207F7CA7FE@.microsoft.com...
> >I am also interested in finding out how to report off of my own business
> > objects in RS2005. Is there a simple way, without going through web
> > services
> > or dataset, to use my business objects as datasource? Even a simpler
> > experiment: how do I use a collection of simple objects (strings, for
> > instance) as my datasource in RS2005? DataDynamic's ActiveReports allows
> > you
> > to pass a collection to a report as its datasoure without any extra work,
> > such as going through a web service or transforming the collection to a
> > dataset, etc.;
> >
> > Thanks in advance.
> >
> > Pierre
> >
> >
> > "Bruce L-C [MVP]" wrote:
> >
> >> I think he means business objects not Business Objects (i.e. his own
> >> business objects not the company).
> >>
> >> Assuming I have the right interpretation you can create your own data
> >> extension that would allow you to do this but it is not trivial. With VS
> >> 2005 and RS 2005 there will be two new controls: a webform and a winform
> >> control. They have a local mode where you had it a dataset and a report
> >> and
> >> away it goes. Since you can create a dataset in dotnet out of business
> >> objects this should work for you. Note that local mode does have some
> >> limitations (for instance no subscriptions).
> >>
> >>
> >> --
> >> Bruce Loehle-Conger
> >> MVP SQL Server Reporting Services
> >>
> >>
> >> "Carl" <Carl@.discussions.microsoft.com> wrote in message
> >> news:F32A8134-66D3-438B-97B6-0E066051EF8C@.microsoft.com...
> >> >I am not sure of the datasources of the previous versions of
> >> >BusinessObjects
> >> > but the current version BO XI uses a MySQL backend but you can use MSDE
> >> > or
> >> > SQL Server if you so choose. So as long as you can connect to the
> >> > server
> >> > with
> >> > a valid login you shouldn't have any problems reporting off of it just
> >> > like
> >> > any other SQL Server database.
> >> >
> >> >
> >> >
> >> > "Nicolas BRESSAN" wrote:
> >> >
> >> >> Where do you have seen that?
> >> >>
> >> >> It's marvelous if it's possible...
> >> >>
> >> >> Nicolas
> >> >>
> >> >> "Klaus Aschenbrenner" wrote:
> >> >>
> >> >> > Hi!
> >> >> >
> >> >> > I've read somewhere that it is possible to use business objects as a
> >> >> > data
> >> >> > source for the reporting services.
> >> >> > Can someone tell me where I can find further information about it?
> >> >> >
> >> >> > Thanks
> >> >> >
> >> >> > Klaus Aschenbrenner
> >> >> > MVP Visual C#
> >> >> > www.csharp.at, www.anecon.com
> >> >> > http://weblogs.asp.net/klaus.aschenbrenner
> >> >> >
> >> >> >
> >> >> >
> >>
> >>
> >>
>
>|||This will get you started:
http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.localreport.aspx
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"pcho" <pcho@.discussions.microsoft.com> wrote in message
news:7B54CB73-A909-483A-A340-29E2C1D8BEC8@.microsoft.com...
> Thank you very much for your answers Bruce. Could you please point me to
> the
> direction where I can find more information on local mode v.s. server
> mode?
> Thanks again!
> Pierre
>
> "Bruce L-C [MVP]" wrote:
>> I have used the local mode passing it a table (not a dataset, it wants a
>> table). Reading the help there is the ability to use your own business
>> objects. Personally, filling a table is pretty easy and isn't a bad way
>> to
>> go.
>> Server mode you can do web service or create a data processing extension.
>> I
>> am not aware of any other way in server mode to do this.
>>
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>> "pcho" <pcho@.discussions.microsoft.com> wrote in message
>> news:6D08FD6E-2055-4096-9123-14207F7CA7FE@.microsoft.com...
>> >I am also interested in finding out how to report off of my own business
>> > objects in RS2005. Is there a simple way, without going through web
>> > services
>> > or dataset, to use my business objects as datasource? Even a simpler
>> > experiment: how do I use a collection of simple objects (strings, for
>> > instance) as my datasource in RS2005? DataDynamic's ActiveReports
>> > allows
>> > you
>> > to pass a collection to a report as its datasoure without any extra
>> > work,
>> > such as going through a web service or transforming the collection to a
>> > dataset, etc.;
>> >
>> > Thanks in advance.
>> >
>> > Pierre
>> >
>> >
>> > "Bruce L-C [MVP]" wrote:
>> >
>> >> I think he means business objects not Business Objects (i.e. his own
>> >> business objects not the company).
>> >>
>> >> Assuming I have the right interpretation you can create your own data
>> >> extension that would allow you to do this but it is not trivial. With
>> >> VS
>> >> 2005 and RS 2005 there will be two new controls: a webform and a
>> >> winform
>> >> control. They have a local mode where you had it a dataset and a
>> >> report
>> >> and
>> >> away it goes. Since you can create a dataset in dotnet out of business
>> >> objects this should work for you. Note that local mode does have some
>> >> limitations (for instance no subscriptions).
>> >>
>> >>
>> >> --
>> >> Bruce Loehle-Conger
>> >> MVP SQL Server Reporting Services
>> >>
>> >>
>> >> "Carl" <Carl@.discussions.microsoft.com> wrote in message
>> >> news:F32A8134-66D3-438B-97B6-0E066051EF8C@.microsoft.com...
>> >> >I am not sure of the datasources of the previous versions of
>> >> >BusinessObjects
>> >> > but the current version BO XI uses a MySQL backend but you can use
>> >> > MSDE
>> >> > or
>> >> > SQL Server if you so choose. So as long as you can connect to the
>> >> > server
>> >> > with
>> >> > a valid login you shouldn't have any problems reporting off of it
>> >> > just
>> >> > like
>> >> > any other SQL Server database.
>> >> >
>> >> >
>> >> >
>> >> > "Nicolas BRESSAN" wrote:
>> >> >
>> >> >> Where do you have seen that?
>> >> >>
>> >> >> It's marvelous if it's possible...
>> >> >>
>> >> >> Nicolas
>> >> >>
>> >> >> "Klaus Aschenbrenner" wrote:
>> >> >>
>> >> >> > Hi!
>> >> >> >
>> >> >> > I've read somewhere that it is possible to use business objects
>> >> >> > as a
>> >> >> > data
>> >> >> > source for the reporting services.
>> >> >> > Can someone tell me where I can find further information about
>> >> >> > it?
>> >> >> >
>> >> >> > Thanks
>> >> >> >
>> >> >> > Klaus Aschenbrenner
>> >> >> > MVP Visual C#
>> >> >> > www.csharp.at, www.anecon.com
>> >> >> > http://weblogs.asp.net/klaus.aschenbrenner
>> >> >> >
>> >> >> >
>> >> >> >
>> >>
>> >>
>> >>
>>|||Hi Bruce, I have read something in Microsoft's marketing material and I was
wondering if you could clarify one point for me. The exact quotation is as
follows:
Visual Studio Integration
In addition to creating reports in a Report Server project, report design is
now completely integrated with Visual Studio language projects. You can embed
reports directly in any Windows Forms or ASP.NET Web application. The data
access options of embedded reports are a natural extension of the Visual
Studio data facilities. Not only can you use traditional databases as a
source of data for your reports, you can use object collections as well.
Report Designer, as shown in a language project, is highlighted in Figure 9.
The URL of the above quotation is:
http://www.microsoft.com/technet/prodtechnol/sql/2005/2005ssrs.mspx
In the second last sentence: "Not only can you use traditional databases as
a source of data for your reports, you can use object collections as well.",
what is meant by "object collections" here?
Again, my objective is to report right from a collection of objects (simple
or complex), no datasets, no web services, no XML, how do I do it?
Thank you very much again in advance!
Pierre
"Bruce L-C [MVP]" wrote:
> This will get you started:
> http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.localreport.aspx
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "pcho" <pcho@.discussions.microsoft.com> wrote in message
> news:7B54CB73-A909-483A-A340-29E2C1D8BEC8@.microsoft.com...
> > Thank you very much for your answers Bruce. Could you please point me to
> > the
> > direction where I can find more information on local mode v.s. server
> > mode?
> >
> > Thanks again!
> >
> > Pierre
> >
> >
> > "Bruce L-C [MVP]" wrote:
> >
> >> I have used the local mode passing it a table (not a dataset, it wants a
> >> table). Reading the help there is the ability to use your own business
> >> objects. Personally, filling a table is pretty easy and isn't a bad way
> >> to
> >> go.
> >>
> >> Server mode you can do web service or create a data processing extension.
> >> I
> >> am not aware of any other way in server mode to do this.
> >>
> >>
> >> --
> >> Bruce Loehle-Conger
> >> MVP SQL Server Reporting Services
> >>
> >> "pcho" <pcho@.discussions.microsoft.com> wrote in message
> >> news:6D08FD6E-2055-4096-9123-14207F7CA7FE@.microsoft.com...
> >> >I am also interested in finding out how to report off of my own business
> >> > objects in RS2005. Is there a simple way, without going through web
> >> > services
> >> > or dataset, to use my business objects as datasource? Even a simpler
> >> > experiment: how do I use a collection of simple objects (strings, for
> >> > instance) as my datasource in RS2005? DataDynamic's ActiveReports
> >> > allows
> >> > you
> >> > to pass a collection to a report as its datasoure without any extra
> >> > work,
> >> > such as going through a web service or transforming the collection to a
> >> > dataset, etc.;
> >> >
> >> > Thanks in advance.
> >> >
> >> > Pierre
> >> >
> >> >
> >> > "Bruce L-C [MVP]" wrote:
> >> >
> >> >> I think he means business objects not Business Objects (i.e. his own
> >> >> business objects not the company).
> >> >>
> >> >> Assuming I have the right interpretation you can create your own data
> >> >> extension that would allow you to do this but it is not trivial. With
> >> >> VS
> >> >> 2005 and RS 2005 there will be two new controls: a webform and a
> >> >> winform
> >> >> control. They have a local mode where you had it a dataset and a
> >> >> report
> >> >> and
> >> >> away it goes. Since you can create a dataset in dotnet out of business
> >> >> objects this should work for you. Note that local mode does have some
> >> >> limitations (for instance no subscriptions).
> >> >>
> >> >>
> >> >> --
> >> >> Bruce Loehle-Conger
> >> >> MVP SQL Server Reporting Services
> >> >>
> >> >>
> >> >> "Carl" <Carl@.discussions.microsoft.com> wrote in message
> >> >> news:F32A8134-66D3-438B-97B6-0E066051EF8C@.microsoft.com...
> >> >> >I am not sure of the datasources of the previous versions of
> >> >> >BusinessObjects
> >> >> > but the current version BO XI uses a MySQL backend but you can use
> >> >> > MSDE
> >> >> > or
> >> >> > SQL Server if you so choose. So as long as you can connect to the
> >> >> > server
> >> >> > with
> >> >> > a valid login you shouldn't have any problems reporting off of it
> >> >> > just
> >> >> > like
> >> >> > any other SQL Server database.
> >> >> >
> >> >> >
> >> >> >
> >> >> > "Nicolas BRESSAN" wrote:
> >> >> >
> >> >> >> Where do you have seen that?
> >> >> >>
> >> >> >> It's marvelous if it's possible...
> >> >> >>
> >> >> >> Nicolas
> >> >> >>
> >> >> >> "Klaus Aschenbrenner" wrote:
> >> >> >>
> >> >> >> > Hi!
> >> >> >> >
> >> >> >> > I've read somewhere that it is possible to use business objects
> >> >> >> > as a
> >> >> >> > data
> >> >> >> > source for the reporting services.
> >> >> >> > Can someone tell me where I can find further information about
> >> >> >> > it?
> >> >> >> >
> >> >> >> > Thanks
> >> >> >> >
> >> >> >> > Klaus Aschenbrenner
> >> >> >> > MVP Visual C#
> >> >> >> > www.csharp.at, www.anecon.com
> >> >> >> > http://weblogs.asp.net/klaus.aschenbrenner
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >>
> >> >>
> >> >>
> >>
> >>
> >>
>
>|||From MSDN Library (you should also be able to search this on the msdn
website). I searched on Localreport business objects:
The LocalReport object does not have the ability to execute queries or fetch
data; instead data must be supplied to it as instances of ADO.NET DataTables
or as a collection of business objects.
Also found this: Walkthrough: Using a Business Object Data Source with the
ReportViewer Windows Forms Control in Local Processing Mode
http://msdn2.microsoft.com/en-us/library/ms251784.aspx
--
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"pcho" <pcho@.discussions.microsoft.com> wrote in message
news:48D5B693-BB64-49BB-839C-E2531D002723@.microsoft.com...
> Hi Bruce, I have read something in Microsoft's marketing material and I
> was
> wondering if you could clarify one point for me. The exact quotation is
> as
> follows:
> Visual Studio Integration
> In addition to creating reports in a Report Server project, report design
> is
> now completely integrated with Visual Studio language projects. You can
> embed
> reports directly in any Windows Forms or ASP.NET Web application. The data
> access options of embedded reports are a natural extension of the Visual
> Studio data facilities. Not only can you use traditional databases as a
> source of data for your reports, you can use object collections as well.
> Report Designer, as shown in a language project, is highlighted in Figure
> 9.
> The URL of the above quotation is:
> http://www.microsoft.com/technet/prodtechnol/sql/2005/2005ssrs.mspx
> In the second last sentence: "Not only can you use traditional databases
> as
> a source of data for your reports, you can use object collections as
> well.",
> what is meant by "object collections" here?
> Again, my objective is to report right from a collection of objects
> (simple
> or complex), no datasets, no web services, no XML, how do I do it?
> Thank you very much again in advance!
> Pierre
>
> "Bruce L-C [MVP]" wrote:
>> This will get you started:
>> http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.localreport.aspx
>>
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>> "pcho" <pcho@.discussions.microsoft.com> wrote in message
>> news:7B54CB73-A909-483A-A340-29E2C1D8BEC8@.microsoft.com...
>> > Thank you very much for your answers Bruce. Could you please point me
>> > to
>> > the
>> > direction where I can find more information on local mode v.s. server
>> > mode?
>> >
>> > Thanks again!
>> >
>> > Pierre
>> >
>> >
>> > "Bruce L-C [MVP]" wrote:
>> >
>> >> I have used the local mode passing it a table (not a dataset, it wants
>> >> a
>> >> table). Reading the help there is the ability to use your own business
>> >> objects. Personally, filling a table is pretty easy and isn't a bad
>> >> way
>> >> to
>> >> go.
>> >>
>> >> Server mode you can do web service or create a data processing
>> >> extension.
>> >> I
>> >> am not aware of any other way in server mode to do this.
>> >>
>> >>
>> >> --
>> >> Bruce Loehle-Conger
>> >> MVP SQL Server Reporting Services
>> >>
>> >> "pcho" <pcho@.discussions.microsoft.com> wrote in message
>> >> news:6D08FD6E-2055-4096-9123-14207F7CA7FE@.microsoft.com...
>> >> >I am also interested in finding out how to report off of my own
>> >> >business
>> >> > objects in RS2005. Is there a simple way, without going through web
>> >> > services
>> >> > or dataset, to use my business objects as datasource? Even a
>> >> > simpler
>> >> > experiment: how do I use a collection of simple objects (strings,
>> >> > for
>> >> > instance) as my datasource in RS2005? DataDynamic's ActiveReports
>> >> > allows
>> >> > you
>> >> > to pass a collection to a report as its datasoure without any extra
>> >> > work,
>> >> > such as going through a web service or transforming the collection
>> >> > to a
>> >> > dataset, etc.;
>> >> >
>> >> > Thanks in advance.
>> >> >
>> >> > Pierre
>> >> >
>> >> >
>> >> > "Bruce L-C [MVP]" wrote:
>> >> >
>> >> >> I think he means business objects not Business Objects (i.e. his
>> >> >> own
>> >> >> business objects not the company).
>> >> >>
>> >> >> Assuming I have the right interpretation you can create your own
>> >> >> data
>> >> >> extension that would allow you to do this but it is not trivial.
>> >> >> With
>> >> >> VS
>> >> >> 2005 and RS 2005 there will be two new controls: a webform and a
>> >> >> winform
>> >> >> control. They have a local mode where you had it a dataset and a
>> >> >> report
>> >> >> and
>> >> >> away it goes. Since you can create a dataset in dotnet out of
>> >> >> business
>> >> >> objects this should work for you. Note that local mode does have
>> >> >> some
>> >> >> limitations (for instance no subscriptions).
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Bruce Loehle-Conger
>> >> >> MVP SQL Server Reporting Services
>> >> >>
>> >> >>
>> >> >> "Carl" <Carl@.discussions.microsoft.com> wrote in message
>> >> >> news:F32A8134-66D3-438B-97B6-0E066051EF8C@.microsoft.com...
>> >> >> >I am not sure of the datasources of the previous versions of
>> >> >> >BusinessObjects
>> >> >> > but the current version BO XI uses a MySQL backend but you can
>> >> >> > use
>> >> >> > MSDE
>> >> >> > or
>> >> >> > SQL Server if you so choose. So as long as you can connect to the
>> >> >> > server
>> >> >> > with
>> >> >> > a valid login you shouldn't have any problems reporting off of it
>> >> >> > just
>> >> >> > like
>> >> >> > any other SQL Server database.
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > "Nicolas BRESSAN" wrote:
>> >> >> >
>> >> >> >> Where do you have seen that?
>> >> >> >>
>> >> >> >> It's marvelous if it's possible...
>> >> >> >>
>> >> >> >> Nicolas
>> >> >> >>
>> >> >> >> "Klaus Aschenbrenner" wrote:
>> >> >> >>
>> >> >> >> > Hi!
>> >> >> >> >
>> >> >> >> > I've read somewhere that it is possible to use business
>> >> >> >> > objects
>> >> >> >> > as a
>> >> >> >> > data
>> >> >> >> > source for the reporting services.
>> >> >> >> > Can someone tell me where I can find further information about
>> >> >> >> > it?
>> >> >> >> >
>> >> >> >> > Thanks
>> >> >> >> >
>> >> >> >> > Klaus Aschenbrenner
>> >> >> >> > MVP Visual C#
>> >> >> >> > www.csharp.at, www.anecon.com
>> >> >> >> > http://weblogs.asp.net/klaus.aschenbrenner
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>