A Design Related Problem Regarding Filtering Data Pr Month
May 8, 2008
Hi all!
I have a problem.. I have a report, with subreports, which does the job it was supposed to do. Unfortunately, subreports does not export to Excel very well, so I have to come up with a solution without the use of subreports.
The scenario (keeping it simple)
I have a list of departments. Each department can have multiple costs attached to it. The cost happens on a specific date. Fairly straightforward and simplified
I want to view each departments costs, sorted by month, like this:
Jan - Feb - March - April....
Dep SUM COST
Dep FOR EACH MONTH
Dep
Dep
...
...
I did this in the old report by passing the department ID and the date interval as parameters to a subreport and have the subreport return the sum of all the fields, which worked fine.
Now that the subreports can no longer be used, I'm struggling on how to sort my output on that date interval. I can group my result pr. department, but how to filter the result so that I get the right numbers in the right month... no luck yet.
As far as I know; I can't use different datasets in one table? I could have made a different dataset for each month...
Anyone know of a way to design this? I'm sure the problem isn't unique.
Does one have to aggregate the sums inside the SQL query instead?
i want to get some results but only for one month. like that;
select * from News where PubDate = month(9)
i tried use between dates but i got errors because all of months aren't 30 or 31 days ... For example February is 28 days sometime.. So how can i get a month results...
At the following MDX code , I want to get the aggregate of measure only for  members that are also in the specified last time (like in examp 01/06/2015) . I tried existing and exists, but without any lack.
WITH MEMBER A AS (b)+(C) MEMBER [Measures].[Aggregate] AS Aggregate(DAYTIME].[Month].&[2013-01-01T00:00:00]:[DAYTIME].[Month].&[2015-06-01T00:00:00], ([Measures].[D])
I have two tables Costtable (Id,ResourceId, Amount,Date) and ResourceTable (ResourceId,Name) which shows output as below.
I want to show 0 amount for rest of the name in case of September. For e.g. if rest of the Resources does not appear in cost table they should appear 0 in amount
My Desired output
My current query
SELECT RG.Id AS Id, RG.Name AS Name, ISNULL(SUM(AC.Amount), 0) AS Amount, RIGHT(CONVERT(varchar(10), AC.[Date], 105), 7) AS [YearMonth]
Hello what I'd like to display the following in a matrix report:
Parameter selected: 3 (March), 2008 (Year)
Monthly TO Summed up ArtNo March <=March 1210 20,500 50,900 1220 21,200 64,000 1230 15,400 40,300 ... ... ...
So, in the rows I have the articles and in the column the selected month via parameter. In another column I need to sum up all monthly values up to the selected month, meaning in this example the sum of jan, feb and mar per article.
Why is Select * from [Merchandise] where [Product Name] like '[ABCD]%'the same as Select * from [Merchandise] where [Product Name] between 'A' and 'D'I can run Select * from [Merchandise] where [Product Name] like 'A%'and get Products that start with the letter "A" but they don't show up when I try to get all "A","B","C","D" Products.
Our current method of limiting what data a user can see is implemented solely through our Web based business intelligence tools. No filtering is enabled at the database level. This has become somewhat cumbersome as security is tied exclusively to these tools. The tools use one common logon to access the underlying database.
I would like to implement security at the database level (SQL Server 2000) and thereby produce a more flexible/portable solution. I was thinking of setting up individual database accounts for each user and then tying these into our company structure table by passing system_user result to a constraint.
For example System User name 'Store 2' would reference Store '2' in the structure table. Depending on the user, different columns will need to be referenced to filter the rows. A store user would be validated against the store column, an Area Manager user would be validated against the Area Manager column and Head Office users would not be valiadated at all i.e. they are not filtered.
1) What is the best method to implement such a look up. Can or should I use Check constraints for such a solution?
2) Would a UDF be useful?
Any ideas on the best approach to take would be greatly appereciated.
Hi, I have following query. I want to insert the value MBR_COV_EFF_DATE to table fixed_MM if the function dbo.CheckTheDate2 returns correct date and if it returns NULL I want to insert it on error_MM table. How can I do this?
select dbo.CheckTheDate2(MBR_COV_EFF_DATE,'MBR_COV_EFF_DATE') AS MBR_COV_EFF_DATE from [unfixed_MM]
Expression: =Fields!PRACTICE_ID.Value Operator: = Value: 20 and get this error: The comparison failed. Check the data type returned by filter expression.
Practice_id has int data type. How else can I check the data type returned by filter expression?
I tried to filter on table level the same way, and get the same error. Could anybody help, please, to make it work?
Hi, In my application datas are downloaded from "http://www.amfiindia.com/portal/upload/downloadnav.txt;" this website and written on a text file. Downloadnav.txt contens looks like this ------------- Scheme Code;Scheme Name;Net Asset Value;Repurchase Price;Sale Price;Date Open Ended Schemes ( Income ) ABN AMRO Mutual Fund102652;ABN AMRO Monthly Income Plan-Regular Plan-Growth Option;12.8907;12.8907;12.8907;4-Apr-2007102653;ABN AMRO Monthly Income Plan-Regular Plan-Monthly Dividend Option;10.6359;10.6359;10.6359;4-Apr-2007102654;ABN AMRO Monthly Income Plan-Regular Plan-Quarterly Dividend Option;10.5377;10.5377;10.5377;4-Apr-2007102622;ABN AMRO Flexi Debt Fund-Regular Plan-Daily Dividend Option;10.0000;10.0000;10.0000;4-Apr-2007102619;ABN AMRO Flexi Debt Fund-Regular Plan-Growth Option;11.6182;11.6182;11.6182;4-Apr-2007 Birla Sun Life Mutual Fund101843;Birla Bond Index Fund-Dividend Plan (Plan A);10.1607;10.1353;10.1607;4-Apr-2007101844;Birla Bond Index Fund-Growth Plan (Plan B);11.6557;11.6266;11.6557;4-Apr-2007101315;Birla Bond Plus-Insititutional Dividend;10.4411;10.4150;10.4411;4-Apr-2007 ---------------------------------------- I cut .copied datas alone in another text file datafile1.txt which looks like this ------------------------------------------ 102652;ABN AMRO Monthly Income Plan-Regular Plan-Growth Option;12.8907;12.8907;12.8907;4-Apr-2007102653;ABN AMRO Monthly Income Plan-Regular Plan-Monthly Dividend Option;10.6359;10.6359;10.6359;4-Apr-2007102654;ABN AMRO Monthly Income Plan-Regular Plan-Quarterly Dividend Option;10.5377;10.5377;10.5377;4-Apr-2007102622;ABN AMRO Flexi Debt Fund-Regular Plan-Daily Dividend Option;10.0000;10.0000;10.0000;4-Apr-2007102619;ABN AMRO Flexi Debt Fund-Regular Plan-Growth Option;11.6182;11.6182;11.6182;4-Apr-2007101843;Birla Bond Index Fund-Dividend Plan (Plan A);10.1607;10.1353;10.1607;4-Apr-2007101844;Birla Bond Index Fund-Growth Plan (Plan B);11.6557;11.6266;11.6557;4-Apr-2007101315;Birla Bond Plus-Insititutional Dividend;10.4411;10.4150;10.4411;4-Apr-2007 I am bulkinserting this datafile1.txt datas in to the Sqlserver table "Indian stocks".Since Downloadnav.txt has extra description,title That file is not able to bulk insert. Now i have to read/filter downloadnav.txt so that file will look like datafile1.txt. Bulk insert command which i use : Bulk insert INDIAN_STOCKS from 'C:Documents and SettingsAmrithaMy DocumentsKarthikaRobertRobertdatafile1.txt' with (FIELDTERMINATOR=';',ROWTERMINATOR=''); Can anyone tell me how to read txt file and filter it out(elimates titles,spaces).I am trying so hard for the past 1 week couldn't do. Thanks, Karthika
Hi,I have three dropdown lists branch, month & year. Based on these I need to retrieve data in my Datagrid.I have written the following SQL statement & code in my Refreshgrid(): SqlCmd.CommandText = " SELECT * " SqlCmd.CommandText += " FROM HSECData" SqlCmd.CommandText += " where branchno=" &Branchno SqlCmd.CommandText += " And yearno=" &YearNo SqlCmd.CommandText += " And monthno=" &monthNoThis is working fine, initially the datagrid is empty and then displays data when I select say, branch- Melbourne, Year-2005, Month-October and other exisiting combinations.The problem I am stuck at is when the page loads, initially I want all the data to be displayed in datagrid, i.e. for 'All' branches, 'All' years and 'All' months and then when I select combinations of these dropwdown lists as above the data should be filtered and displayed in those selected combinations. but as of now I get and empty datagrid when I select 'All' from these 3 drop down lists or when the page opens the first time.Can someone kindly guide me with the correct SQL cinstruct to achieve both the requirements?Thanks,Aartee.P.S. I am sorry if I have posted this question in a wrong category in the forum, I was unsure whether I should post it in Datagrid category or SQL server category, I thought this was my best bet.My aplogies.
I have a database table which is growing 100,000 recs per day. It has data from 06/01/1999 to current. I need to keep data only from 08/01/1999. I BCP'd out around more than 10 million rows(entire table) out into an OS flat file. Now I need to BCP in rows only after 08/01/1999. How do I filter those rows during BCP'ing in, or is there a way of doing it while BCP'ing out. The table has a field named proc_date smalldatetime(4) NOT NULL.
Hello,I have a simple table containing adresses.A sample view of the table isid name city--------------------------------100 Meier New York101 Meier Tokyo110 Olson Amsterdam110 Olson Dublin111 Paul Berlin...The view is ordered by (name,city)Now my problem:I want to see only the second half of the viewstarting from "Olson" in "Dublin"Using the constraintwhere (name>="Olson") and (city>="Dublin")does not the right thing. It eliminates i.e. row 111.The only idea I have is to concatenate the fields tosimulate the compound index to be able to dowhere name+"~"+city>="Olson~Dublin"not to forget to struggle with null fields to getthe right results. This slows down the simple querydramatically.This seems to be a complicated solution for a simpleproblem, given the fact, that the index is alreadyavailable at the server.Does anyone has an idea or suggestion?-Hubert
I have a stored procedure, which returns a list of results/data.
Some of that data includes a count.
What I would like is to filter the data where we see all the count data that has 0 or all the count data greater than zero.
Now it is entirely possibly for me to go back to the stored procedure and amend it so that that is entirely possible, however i was wondering if it was also possible to produce this by filtering data at the dataset.
I provide a filter at the datset by clicking on dataset and then filters and then the expression for the field for the search count and having a parameter that provides the value.
Now it is straightforward if i just want to show all results where the searchcount = 0.
The problem lies where i want to show all results that have a searchcount > 0. The problem being it only allows me to choose one operator = or >, not a combination of both, meaning I cannot have the option to have either results.
select distinct  bl_rec_ref  ,freq_cd  from hgmprty1 where(bl_rec_ref is not null and bl_rec_ref not like '%SCH%')
That produces the following output (part shown)
However what I need to show is only bl_rec_ref values where there is no corresponding freq_cd of QTLY.
Looking at the example data above Rows 45 and 46 have the same bl_rec_ref value with a MTHLY and a QTLY value in freq_cd so therefore I don't want this to appear in my output. Similarly with Rows 47 and 48 were the bl_rec_ref has both QTLY and MTHLY values so again should be excluded.
However looking at Rows 51 to 55 which has a bl_rec_ref only showing once for each value of MTHLY and no value for QTLY so these Rows are required in the output.
I can't find any info on what the 'IN' operator does when filtering data. What's the syntax? I'm hoping this operator will behave similar to the IN operator in sql. I want to pass in 1 or more values that I'd like my data filtered by. If I say <field> IN <single value> it works, but if I say <field> IN <value1>,<value2> I get back nothing at all. Any claification on the use of this operator and the correct syntax for my value list would be greatly appreciated!!
I need to recreate a SQL 2005 db in a SQL 2000 server. So far I was able to recreate database schema, but I don't know how to import the raw data. I tried copy-pasting table data to the new db using SQL Server Management Studio Express, but there's a problem - the identity columns do not retain the correct values. For example:
Old db table
ID Username ------------- 15 Peter 45 James
When pasting the same data to teh new db, I would get this:
ID Username
-------------
1 Peter
2 James
You can see the ID field values become different (since the ID attribute is an identity and the table in the new db is empty, the db picks the values 1 and 2 for the two records) and now when pasting data into related tables, I get the error because table relations (which are based on identities) do not match. How do I solve this problem and import all the data into the new db while maintaining correct relationships among tables?
I have to filter my some of the data using below sql
select * from dbo.tmp_date where issue_dt <'042015' but its not filtering out because of NVARCHAR an if suppose i used datatype to int its removing 0 (zero) from the begning
My data is in formate MMYYYY formate
CREATE TABLE dbo.tmp_date (issue_dt NVARCHAR(10)); INSERT INTO dbo.tmp_date (issue_dt) SELECT '062012' UNION SELECT '062079' UNION SELECT '062015' UNION SELECT '062014' GO select * from dbo.tmp_date where issue_dt <'042015' go
I have a big presentation tomorrow and I have a query I'm trying to make a little more presentable. query text itself formatted (filtering data)
Tables: --tpeople --tsynclog
The query:
select Firstname+' '+Lastname as [FirstName LastName],synctime as [Nestle synctime],sum(DurationInMinutes) from tpeople join tsynclog on people_id = id where synctime > '2006-05-05' group by tpeople.FirstName,tsynclog.people_id,tpeople.LastName,tsynclog.SyncTime having sum(DurationInMinutes) > 100 order by synctime desc
As you can see I need some alias added and maybe the whole thing formatted a little different. Can anyone help? Thanks.
We are pulling data from a sharepoint list and we have created a report using business development studio in sql 2005 and have created a table with data that we want to display. We are trying to filter this data so that we can get the report to show entries for the day or for a week, but im not sure how to achieve this? Thanks in advance.
I have what at first site should be a simple reporting services issue but cannot resolve:-
I have a complex report comprising over 90 pages of various sections but when analysed in detail , 80% of it follows a simple pattern i.e. it comprises around 100 instances of the same sub-report bound to the same data source BUT grouped and filtered on different groupings and filter values.
The pattern is as follows:-
Each sub-report instance is bound to an SSAS cube which has fields L1, L2...L7
Each sub-report instance groups the data dynamically by one or more groups G1,G2..G7, the actual fields to be used being defined by the parent report (i.e. one instance may group by fields L7, L3, L4, another by L2,L3 etc)
Each sub-report instance has up to 7 filters defined (F1..F7) may filter the data i.e. the parent may pass a filter stipulating that L7="A", L3="B". To do this, the parent sets filter parameters F7="A" and F3="B"
The approach I have adopted is to set up parameters in the sub-report for dynamically grouping the data i.e. the sub-report has 7 parameters defined G1..G7 and the parent report populates G1..G7 with the grouping breakdown required for any given instance. This works fine!!!!
However what I am trying to do is prevent each sub-report performing major round trips to the underlying cube for each sub-report instance by specifying the filter as part of the MDX query by defining the 7 filter parameters as query parameters. (I could of course not filter the query and place the filter in the report but this would almost certainly lead to performance issues). Instead what I am struggling to do is to create the MDX query in such a way that when a filter is not supplied by the parent, the MDX query does not filter the data.
Can anyone advise on this. I guess my question is more of an MDX question than a reporting services one.
Hello, I am trying to use a boolean parameter to filter data in a table, but there is something I am missing.
Basically I want something like this: I have a boolean parameter, "EP", and I have a filter set on my table as:
Expression Operator Value =Fields!REFERRAL_SOURCE.Value = IIF (Parameters!EP.Value, "1297", ????)
Using the filter tab, I can't specify an expression for the 'Operator' so I was trying to work it out using either '=' or 'like'. What needs to go into the ???? in order for the referral source to be "not 1297" (i.e. the inverse of the filter)?
Or, am I completely missing an easy way to do this?
Can you describe the best (or your preferred) method for updating data held in a related table using Visual Studio 2005 and SQL Server. For example; if you had a stock control system with the product names and current stock levels in one table and all stock movements in and out held in another table, what is the best, fastest, safest and most reliable method of inserting a stock movement and then updating the current stock level? I have tried a couple of different methods but would really appreciate a wider range of opinions. Thanks
I have a relationship database that contains two related tables. Table1 has the fields Customer_Name, Customer_ID, and products_Purchased. Table2 has the fields Customer_Name and Cutomer_ID. I would like to add a new row to Table1for a new purchase by a cutomer. When I try to add a new value in Table1 I get an error message saying I can't add a value to table1 because it requires a corresponding value in Table2. I am using the following code: '********************************************** ("INSERT INTO [Table1]([products_Purchased], [Customer_ID]) VALUES('" & textBox..Text & "'," & session("ID") & ")" ' ***************************************** How do I write an INSERT STATEMENT that adds vaules to both tables, so that the code works? Any HELP would be appreciated. charlie
I want retrieve data from 3 table my tables structure is this
tblUsers
U_ID - Name
3 John
tblGroups
G_ID - Name
5 Admins 6 Moderators
Now I want join some of the users to different groups for example John maby is a member of two groups (Admins and Moderators)
in order to do this I created a new table names tblGroupsUsers
tblGroupsUsers
ID - User_ID - Group_ID
1 3 5 1 3 6
its ok, but Now I don't know how to retrive my users list from database I don't know how to write a wuery for this I have tried this :
strSQL = "SELECT tblUsers.name, tblUsers.U_ID, tblGroups.G_ID, tblGroupsUsers.Group_ID, tblGroupsUsers.User_ID FROM tblUsers INNER JOIN tblGroupsUsers ON tblGroupsUsers.User_ID = tblUsers.U_ID, tblGroups WHERE tblGroupsUsers.Group_ID = tblGroups.G_ID ORDER BY tblUsers.name ASC;"
Its working withut error but the problem is the results its like this
John
John
its will retrive the username twice , I think its reading based on tblGroupsUsers table because it has two rows , help please I need this how can I configure my query to get eache name once
We have set up reporting in sql 2005 so that we can report from a MOSS 2007 list. At the moment the report is created with all the data from within the list. How could i create a filters so that the user can generate a report by name and date?