SSAS - Many to Many Relationship Grain Filters Out Data (Many to One)

I have a simple Many to One example: One Fact Table record has many Dimensional Items.  The Example I'm using is One FactEvent record can have multiple EventMembers.  These members are always unique so the relationship is really many to one (vs.
many to many). The grain of the Fact is one row for every event.  Not all events have members, but I have stubbed those with -1
I tried using a Referenced dimensional relationship, but it threw my total counts off.  I decided to make it more complicated by using a
Many to Many relationship, but I had issues once I started slicing the data.
The following are my two very simple tables:
FactEvents:
EventMemberID MemberKey EventMemberKey MemberName MemberGender
1             1         -1             None       N          
2             2         E2             Tyler      M          
3             3         E2             John       M          
4             4         E2             Sue        F          
5             5         E5             Tim        M          
6             6         E5             Jane       F          
7             7         E12            Ashley     F          
8             8         E12            Jessica    F          
9             9         E12            Kristy     F          
10            10        E17            Mike       M          
11            11        E17            Josh       M          
12            12        E18            Warren     M          
13            13        E18            Eric       M           
Here is the bridge Table:
EventID EventBK EventName         EventMemberKey EventCount
1       E1      Hockey Game       -1             1          
2       E2      Soccer Game       E2             1          
3       E3      Baseball Game     -1             1          
4       E4      Concert           -1             1        
5       E5      Food Festival     E5             1          
6       E6      Movie Night       -1             1          
7       E7      Data Group Event  -1             1          
8       E8      City Tour         -1             1          
9       E9      Ski Trip          -1             1        
10      E10     Camping Trip      -1             1          
11      E11     Hiking Trip       -1             1          
12      E12     Community Cleanup E12            1          
13      E13     Block Party       -1             1          
14      E14     Toastmasters      -1             1          
15      E15     Train Spotting    -1             1          
16      E16     Plane Spotting    -1             1          
17      E17     Fishing Trip      E17            1          
18      E18     Hunting Trip      E18            1          
19      E19     Street Hockey     -1             1          
20      E20     Bonspiel          -1             1          
You can see many events have no members and some events have multiple members.  There is not separate members Dim, just the bridge table.  I tried to build view that would work as bridge tables, but it started to feel like overkill.
Here is the SSAS structure:
Cube:
I tried creating a bridge Dim and Measure Group that can be used to join FactEvents with DimMemberEvent:
When I query the database tables directly, I can get the structure I'm looking for:
Gender  Count
F            5
M           7
N           15
This represents that although there are 20 events, there were 5 Female and 7 Male participants and 15 events with No participants.  When looking at the cube in excel I get:
Gender  Count
F            3
M           4
N           15
Grand Total 20
The grand total is correct, however, it looks like it is grouping the events, so if there are multiple Female members at a particular event, they get rolled up.  You can see this better if I pull in member name:
It includes all the names with count 1 ie. 5 Females with count 1, but the gender subtotal is 3 (as it is grouping the gender dimension)
The detail member counts are good, but the rolled up M and F counts are stripping out duplicates.  Is there a way to model this in SSAS to preserve the detail member counts when the member dimension is used?  Is a many to many the best solution?
This is all using SQL Server 2012 Multi-Dimensional Model. Thanks.

Ok, for starters, if it's a one to many relationship, don't set it up as a many to many!  Avoid many to many relationships and really anything other than "regular" relationships. 
Second, the tables you pasted the data for aren't the tables you are describing them as, based on the dsv screenshot you included.  If your post is confusing to the people who are wanting to help you, they will quickly move on.
It seems that you are not clear on how to construct a star schema.  I will lay one out for you and hopefully this can help you on your journey.
fact_member_event:
event_id
member_id
member_event_count
dim_member:
member_id
member_key
member_name
member_gender
dim_event:
event_id
event_name
fact_event:
event_id
event_count
Or alternately, you could drop the fact_event fact table and have a calculated member that uses dimEvent.event.event.allmembers.count.  It's a little bit of a weird situation that I would want to play with, but I would start with the above.  
Also if you post back and show query results, you should make it clear what columns  you are displaying.  I see "count" in your query above, but nowhere in the star schema do I see "member count"
as a field.. I guess that's event count?
Hope this helps,
Ken

Similar Messages

  • IIF(ISEMPTY is Filtering out data MDX help

    Hi I am using the following MDX query which brings back the correct result but runs slow
    With MEMBER [Measures].[Tracker Task Completed] AS
    Aggregate(
    Generate
    (Existing [Date Primary Date].[Year - Month - Date].[Date]
    {(Linkmember
    [Date Primary Date].[Year - Month - Date],
    [Date Tracker Tasks Created].[Year - Month - Date]
    [Date Primary Date].[Year - Month - Date].[ALL])},ALL),
    [Measures].[FACT TRACKER TASK COUNT]
    select non empty [Measures].[Tracker Task Completed] on 0
    ,non empty [People Primary Feeearner].[People_Structure].[Fee Earner Name] on 1
    from [Prod_Cube]
    where ([Tracker Tasks].[Task_Type].[Task Type].&[File open],
    {[Date Primary Date].[Year - Month - Date].[Date].&[20130924],[Date Primary Date].[Year - Month - Date].[Date].&[20130925],[Date Primary Date].[Year - Month - Date].[Date].&[20130926]}
    To speed up the query I use the following in the calculated member
    With MEMBER [Measures].[Tracker Task Completed] AS
    IIF(ISEMPTY([Measures].[FACT TRACKER TASK COUNT]) = TRUE ,NULL,
    Aggregate(
    Generate
    (Existing [Date Primary Date].[Year - Month - Date].[Date]
    {(Linkmember
    [Date Primary Date].[Year - Month - Date],
    [Date Tracker Tasks Created].[Year - Month - Date]
    [Date Primary Date].[Year - Month - Date].[ALL])},ALL),
    [Measures].[FACT TRACKER TASK COUNT]
    However it would appear that this is filtering some of the data.
    but what is really strange is that is if I remove the
    [People Primary Feeearner].[People_Structure].[Fee Earner Name]
    so just tracker task completed value shows, the correct value will show with and without the IIF(isempty
    How can I resolve this?
    Best Regards

    Hi A,
    The reason the query is quite slow, is that it has to perform the calculation for every Fee Earner Name. Each calculation is a little expensive as it will need to look up the [Date Tracker Tasks Created] for the 3 dates every Fee Earner Name.
    You query would run a lot faster if you could add some predicates to limit the number of Fee Earner Names. For example, if you have 100,000 Names, but only half have [Measures].[FACT TRACKER TASK COUNT], then simply adding a NonEmpty() or Filter() on [Measures].[FACT
    TRACKER TASK COUNT] will cut the cost by about 50%. Note, the NonEmpty will only look at the [Date Primary Date] members in your where clause, so a Filter() function might be more appropriate as you could open the scope on [Date Primary Date], and
    hopefully narrow the scope based on other dimensions/measures. If you could filter down the Names from 100,000 to 1,000, the query will run neary 100 times faster.
    Hope that helps,
    Richard
    Thank for the suggestion Richard, what I eventually ended up doing was creating a extra layer within the ETL process so it would duplicate the rows but not double count them
    kinda of like this - all this just so it would work in PerformancePoint and the time intelligence filter

  • Need help on filtering out one record from a report and open in new page

    Hi I am new and embarrassed to write in the forum asking silly questions. Thing is I am learning all from scratch without help from anyone. I have created a database (have previous knowledge only from Access) and have managed to create a beautiful report from a search filter. This report lines up several records matching what I needed. Now, I want to make the whole report with hyperlinks to a detailed page on each of the records in the report. I have tried using the feature where one can make one column hyperlinked and redirect to a new page, where I am getting all the records again - instead of only getting the record I am clicking on. I have looked and looked in the forums without finding solution and I have tested and tried various methods without luck. I am suspecting that I need some sort of knowledge on how to write a select query with where conditions that can apply to filtering out a record from one report to get another detailed on only one object (i.e. record). :/ Stupid or what?

    Hrefna.
    What you need to look into is two things:
    1) The link you defined, needs to set additional attributes for the target page. In the "Column Link" box, you have set the link to "Page in this Application" and followed by the page number (let's say, Page 10). Below that, you should set an Item to an item on you target page (let's call that P10_PRODUCT_ID). This item should be the primary key of your detail table (on the targe page). You can select this item from the popup list. The Value of the item should be picked from a popup list as well, being the value from the record you clicked on. This should then transfer your selected item to your page. The URL will then have something like P10_PRODUCT_ID:5 at the end.
    2) On the target page, 10, you must change the query slightly, so that it adds a WHERE clause:
    WHERE PRODUCT_ID = :P10_PRODUCT_ID
    Now, you should be set.
    Hope this helps.
    Borkur

  • Having issues finding out how many bytes are sent/recieved from a socket.

    Hello everyone.
    I've searched the forums and also google and it seems I can't find a way to figure out how many bytes are sent from a socket and then how many bytes are read in from a socket.
    My server program accepts a string (an event) and I parse that string up, gathering the relevant information and I need to send it to another server for more processing.
    Inside my server program after receiving the data ( a string) I then open another port and send it off to the other server. But I would like to know how many bytes I send from my server to the other server via the client socket.
    So at the end of the connection I can compare the lengths to make sure, I sent as many bytes as the server on the other end received.
    Here's my run() function in my server program (my server is multi threaded, so on each new client connection it spawns a new thread and does the following):
    NOTE: this line is where it sends the string to the other server:
    //sending the string version of the message object to the
                        //output server
                        out.println(msg.toString());
    //SERVER
    public class MultiThreadServer implements Runnable {
         Socket csocket;
         MultiThreadServer(Socket csocket) {
              this.csocket = csocket;
         public void run() {
              //setting up sockets
              Socket outputServ = null;
              //create a message database to store events
              MessageDB testDB = new MessageDB();
              try {
                   //setting up channel to recieve events from the omnibus server
                   BufferedReader in = new BufferedReader(new InputStreamReader(
                             csocket.getInputStream()));
                   //This socket will be used to send events to the z/OS reciever
                   //we will need a new socket each time because this is a multi-threaded
                   //server thus, the  z/OS reciever (outputServ) will need to be
                   //multi threaded to handle all the output.
                   outputServ = new Socket("localhost", 1234);
                   //Setting up channel to send data to outputserv
                   PrintWriter out = new PrintWriter(new OutputStreamWriter(outputServ
                             .getOutputStream()));
                   String input;
                   //accepting events from omnibus server and storing them
                   //in a string for later processing.
                   while ((input = in.readLine()) != null) {
                        //accepting and printing out events from omnibus server
                        //also printing out connected client information
                        System.out.println("Event from: "
                                  + csocket.getInetAddress().getHostName() + "-> "
                                  + input + "\n");
                        System.out.println("Waiting for data...");
                        //---------putting string into a message object-------------///
                        // creating a scanner to parse
                        Scanner scanner = new Scanner(input);
                        Scanner scannerPop = new Scanner(input);
                        //Creating a new message to hold information
                        Message msg = new Message();                    
                        //place Scanner object here:
                        MessageParser.printTokens(scanner);
                        MessageParser.populateMessage(scannerPop, msg, input);
                        //calculating the length of the message once its populated with data
                        int length = msg.toString().length();
                        msg.SizeOfPacket = length;
                        //Printing test message
                        System.out.println("-------PRINTING MESSAGE BEFORE INSERT IN DB------\n");
                        System.out.println(msg.toString());
                        System.out.println("----------END PRINT----------\n");
                        //adding message to database
                        testDB.add(msg);
                        System.out.println("-------Accessing data from Map----\n");
                        testDB.print();
                        //---------------End of putting string into a message object----//
                        //sending the string version of the message object to the
                        //output server
                        out.println(msg.toString());
                        System.out.println("Waiting for data...");
                        out.flush();
                   //cleaning up
                   System.out.println("Connection closed by client.");
                   in.close();
                   out.close();
                   outputServ.close();
                   csocket.close();
              catch (SocketException e) {
                   System.err.println("Socket error: " + e);
              catch (UnknownHostException e) {
                   System.out.println("Unknown host: " + e);
              } catch (IOException e) {
                   System.out.println("IOException: " + e);
    }Heres the other server that is accepting the string:
    public class MultiThreadServer implements Runnable {
         Socket csocket;
         MultiThreadServer(Socket csocket) {
              this.csocket = csocket;
         public void run() {
              try {
                   //setting up channel to recieve events from the parser server
                   BufferedReader in = new BufferedReader(new InputStreamReader(
                             csocket.getInputStream()));
                   String input;
                   while ((input = in.readLine()) != null) {
                        //accepting and printing out events from omnibus server
                        //also printing out connected client information
                        System.out.println("Event from: "
                                  + csocket.getInetAddress().getHostName() + "-> "
                                  + input + "\n");
    System.out.println("Lenght of the string was: " + input.length());
                        System.out.println("Waiting for data...");
                   //cleaning up
                   System.out.println("Connection closed by client.");
                   in.close();
                   csocket.close();
              } catch (IOException e) {
                   System.out.println(e);
                   e.printStackTrace();
    }Here's an example of the program works right now:
    Someone sends me a string such as this:
    Enter port to run server on:
    5656
    Listening on : ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=5656]
    Waiting for client connection...
    Socket[addr=/127.0.0.1,port=4919,localport=5656] connected.
    hostname: localhost
    Ip address: 127.0.0.1:5656
    Waiting for data...
    Event from: localhost-> UPDATE: "@busch2.raleigh.ibm.com->NmosPingFail1",424,"9.27.132.139","","Omnibus","Precision Monitor Probe","Precision Monitor","@busch2.raleigh.ibm.com->NmosPingFail",5,"Ping fail for 9.27.132.139: ICMP reply timed out",07/05/07 12:29:12,07/03/07 18:02:31,07/05/07 12:29:09,07/05/07 12:29:09,0,1,194,8000,0,"",65534,0,0,0,"NmosPingFail",0,0,0,"","",0,0,"",0,"0",120,1,"9.27.132.139","","","","dyn9027132107.raleigh.ibm.com","","","",0,0,"","","NCOMS",424,""
    Now my program makes it all nice and filters out the junk and resends the new string to the other server running here:
    Enter port to run server on:
    1234
    Listening on : ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=1234]
    Waiting for client connection...
    Socket[addr=/127.0.0.1,port=4920,localport=1234] connected.
    Parser client connected.
    hostname: localhost
    Ip address: 127.0.0.1:1234
    Event from: localhost-> PacketType: UPDATE , SizeOfPacket: 577 , PacketID: 1, Identifer: UPDATE: "@busch2.raleigh.ibm.com->NmosPingFail1" , Serial: 424 , Node: "9.27.132.139" , NodeAlias: "" , Manager: "Omnibus" , Agent: "Precision Monitor Probe" , AlertGroup: "Precision Monitor" , AlertKey: "@busch2.raleigh.ibm.com->NmosPingFail" , Severity: 5 , Summary: "Ping fail for 9.27.132.139: ICMP reply timed out",StateChange: 07/05/07 12:29:12 , FirstOccurance: 07/03/07 18:02:31 , LastOccurance: 07/05/07 12:29:09 , InternalLast: 07/05/07 12:29:09 , EventId: "NmosPingFail" , LocalNodeAlias: "9.27.132.139"
    Lenght of the string was: 579
    The length of the final string I sent is 577 by using the string.length() function, but when I re-read the length after the send 2 more bytes got added, and now the length is 579.
    I tested it for several cases and in all cases its adding 2 extra bytes.
    Anyways, I think this is a bad solution to my problem but is the only one I could think of.
    Any help would be great!

    (a) You are counting characters, not bytes, and you aren't counting the line terminators that are appended by println() and removed by readLine().
    (b) You don't need to do any of this. TCP doesn't lose data. If the receiver manages get as far as reading the line terminator when reading a line, the line will be complete. Otherwise it will get an exception.
    (c) You are assuming that the original input and the result of message.toString() after constructing a Message from 'input' are the same but there is no evidence to this effect in the code you've posted. Clearly this assumption is what is at fault.
    (d) If you really want to count bytes, write yourself a FilterInputStream and a FilterOutputStream and wrap them around the socket streams before decorating them with the readers you are using. Have these classes count the bytes going past.
    (e) Don't use PrintWriter or PrintStream on socket streams unless you like exceptions being ignored. Judging by your desire to count characters, you shouldn't like this at all. Use BufferedWriter's methods to write strings and line terminators.

  • How do I find out how many files I have, as an earlier version of iTunes told you at the bottom of the screen. Can you please help me.

    How do I find out how many files I have, as an earlier version of iTunes told you at the bottom of the screen.
    Can anyone please help me with this so I know how many music files or video files I have in my collection.

    Have a look here...
    http://osxdaily.com/2012/11/29/5-tips-make-itunes-look-normal/

  • Is there a way of finding out how many active hours you've worked on a Premiere project?

    If not, it'd be a very cool addition for Adobe to implement... so you know exactly how many hours a project is taking (and how much to charge clients etc.) Obviously we're all prone to leaving Premiere on and wandering away, so I guess it would need to be able to differentiate between active and non-active time...

    Is there a way of finding out how many active hours you've worked on a Premiere project?
    There are two things a client get's billed for, my time, and my computer's time.  If either one of us are working on a project, the client get's billed.  Even if Adobe spent (wasted?) time on adding such a feature, they'd never be able to include any time I've spent working on the project with PP closed, so this feature would have very, very, VERY limited usefulness.
    The method suggested by the images is still the best way.

  • How Many Enterprise Resources Can Be Checked-Out at Any One Time?

    Hi Folks,
    Using Project Server Online, I am trying to select and edit a resource pool containing approximately 1200 enterprise resources in MS Project Professional 2013.  I can open a few at a time, but when I "select all" it does not do anything. 
    Is there a limit on how many enterprise resources we can check out at a time?
    Thanks in advance,
    \Spiro Theopoulos PMP, MCITP. Montreal, QC (Canada)

    OK..I was able to edit 495 resources at a given time. The moment I click 496th resource, nothing happens when I click the Open in Project button.
    So, to Dale's point, there seems to be some kind of limit on the number of resources that can be edited at any given time, but what's puzzling is that the limit seems to be different for every tenant.
    I will try and find more information, but at this point, the solution is something you already know. Edit few resources at a time.
    Cheers,
    Prasanna Adavi, Project MVP
    Blog:
      Podcast:
       Twitter:   
    LinkedIn:
      

  • Am I able to find out how many times my ICloud account has been accessed?

    Am I able to find out how many times my ICloud account has been accessed?

    I'm afraid iCloud doesn't provide access logs.

  • How to find out how many memory is used for NIO

    is there any way to find out how many memory is used for nio in a virtual machine. ?
    I know that is possible to find out how many total, free and used memory the heap has by using java.lang.Runtime#totalMemory...
    We sometimes expect errors that it is not possible to create any more connections because of the NIO memory size but the heap is still ok. Today we had an error where 170mbytes of heap where left but it was not possible to create new tcp connections because of an exception:
    javax.naming.NamingException: java.net.SocketException: No buffer space available (maximum connections reached?): connect
    The number of TCP-Connections was ok (<500).
    It would be very nice if someone knows how to find out how the amount of memory that NIO buffers use can be determined within Java 1.4.
    best regards
    benjamin

    We have to use 1.4.2_03. This is because of the special environment we are running on.
    We did also figured out that there are some NIO Memory Bugs but we since we are not allowed to upgrade the used Virtual Machine we have to live with these errors.
    The problem that we currently have is within a Server and because of this circumstance we are trying to find a workaround or way to find out how many memory is allocated. If we would know how to get this value we could restart the servers as a workaround after the value reaches a threshold.
    We are also very sad that we can`t easily upgrade/update to the latest 1.4.2 Version or the newest 1.5 to get rid of these NIO Bugs!

  • Need to find out how many users are using Siebel Application

    Hello all,
    I need to find out how many users are using Siebel Application?
    Is there a way I can find out?
    Thanks.
    yasun

    Hi,
    Read the following:
    http://docs.oracle.com/cd/B40099_02/books/SysDiag/SysDiagSysMonitor30.html
    http://docs.oracle.com/cd/B40099_02/books/SysDiag/SysDiagSysMonitor17.html
    For full information about server status and statistics red:
    http://docs.oracle.com/cd/B40099_02/books/SysDiag/SysDiagSysMonitor.html
    T.Abed

  • Greyed out songlist on ipod. I've installed latest software.  When synching, msg says unable to transfer songs due to timeout.  Now many songs on songlist are greyed out and unaccessible.  What's happened?

    Memory on 64GB ipod touch indicates about 0.88 remaining.  But not all songs on playlist being synched are being transferred over and many (3,000 +) are now greyed out (full details shown but not accessible).
    Any ideas?
    Have already restored Ipod to original settings twice
    Have already amended playlist to choose smaller total memory requirement
    Still keeps showing msg 'timeout' failure

    well done fairy princess!
    it can be difficult to find the Knowledge Base documents if you're not familiar with the site. it took me a few weeks before i was comfortable with it.
    if i'm looking for KB docs, i usually click on "advanced search" (just below the tab with the apple on it up at the top of the webpage), and select either "ipod for windows" or "itunes for windows".
    usually once i find an article that i use a lot, i make a note of the link, or "favorite" it in my web browser.
    (this particular article is a bit difficult to find, even if you do a search. the various different symptoms are so varied, that folks aren't likely to realise it's relevant to their problem even if they see the title of it appear in their search results.)
    love, b

  • SQL functions extract and XMLSequence for a one-to-many (1:N) relationship

    I have have the following XML document loaded into a XMLType table. I'd like to retrieve the lineitem id together with the purchaseorder id and report id. How would the query look like? I've tried a lot but this one-to-many relationship is killing me.
    Many thanks!
    <report id=...>
    <purchaseorder id=...>
    <lineitems>
    <lineitem id=...>...</lineitem>
    <lineitem id=...>...</lineitem>
    <lineitem id=...>...</lineitem>
    </lineitems>
    </purchaseorder>
    <purchaseorder id=...>
    <lineitems>
    <lineitem id=...>...</lineitem>
    </lineitems>
    </purchaseorder>

    You can easily modify the above query to your needs:
    SQL> with qry as (
      2  select t.column_value.extract('/report/@id') report_id,
      3         t.column_value.extract('/report/purchaseorder') purchaseorder,
      4         t.column_value.extract('/report/purchaseorder/lineitems/*') lineitems
      5  from table(xmlsequence(xmltype('<document>
      6                                    <chapter>
      7                                      <report id="1">
      8                                        <purchaseorder id="1">
      9                                          <lineitems>
    10                                            <lineitem id="1">Item 11</lineitem>
    11                                            <lineitem id="2">Item 12</lineitem>
    12                                            <lineitem id="3">Item 13</lineitem>
    13                                          </lineitems>
    14                                        </purchaseorder>
    15                                        <purchaseorder id="2">
    16                                          <lineitems>
    17                                            <lineitem id="1">Item 21</lineitem>
    18                                          </lineitems>
    19                                        </purchaseorder>
    20                                      </report>
    21                                      <report id="2">
    22                                        <purchaseorder id="1">
    23                                          <lineitems>
    24                                            <lineitem id="1">Item 31</lineitem>
    25                                            <lineitem id="2">Item 32</lineitem>
    26                                          </lineitems>
    27                                        </purchaseorder>
    28                                        <purchaseorder id="2">
    29                                          <lineitems>
    30                                            <lineitem id="1">Item 41</lineitem>
    31                                            <lineitem id="2">Item 42</lineitem>
    32                                          </lineitems>
    33                                        </purchaseorder>
    34                                      </report>
    35                                    </chapter>
    36                                  </document>'
    37  ).extract('/document/chapter/*'))) t)
    38  select q.report_id,
    39         q1.column_value.extract('/purchaseorder/@id') purchase_id,
    40         q2.column_value.extract('/lineitem/@id') lineitem_id,
    41         q2.column_value.extract('/lineitem/text()') lineitem
    42  from qry q,
    43       table(xmlsequence(q.purchaseorder)) q1,
    44       table(xmlsequence(q1.extract('/purchaseorder/lineitems/*'))) q2
    45  /
    REPORT_ID  PURCHASE_ID     LINEITEM_ID     LINEITEM
    1          1               1               Item 11
    1          1               2               Item 12
    1          1               3               Item 13
    1          2               1               Item 21
    2          1               1               Item 31
    2          1               2               Item 32
    2          2               1               Item 41
    2          2               2               Item 42
    8 rows selected.
    SQL>

  • HT3939 how do i find out how many gb my iphone 4 has without a sim?

    how do i find out how many gb my iphone 4 has without a sim?

    Check it through itunes by connecting your device to the computer. Go my device's in the library panel and double click device scroll to bottom of screen and it will show you.

  • How can I find out how many podcasts have been downloaded?

    My friend and I have been making our podcasts available on Itunes. Is there any way to find out how many people have downloaded?

    Log into your iTunes account on a Mac or PC and check the Purchase History in your account profile information.

  • How do I find out how many times a date is in and array collection?

    Hi there,
    I have an arrayCollection that has a bunch of articles in it. I am trying to figure out how many articles there are each day to power a line graph. Any thoughts on how I could easily do this?
    basically I need a method that will return how many times an item appears in and AC.
    Some code I am starting with (its wrong)
    if (fieldName == "yValue"){
         var count:Number = 0;
         for(var i:uint=0; i<_dataProvider.length; i++){
              var date:QueueItemVO;
              if (_dataProvider[i].itemDate == item.itemDate){
                   //count++;
                   trace(count);
         //trace(item.itemDate);
         //trace(count);
         return count;

    Hi there,
    I have an arrayCollection that has a bunch of articles in it. I am trying to figure out how many articles there are each day to power a line graph. Any thoughts on how I could easily do this?
    basically I need a method that will return how many times an item appears in and AC.
    Some code I am starting with (its wrong)
    if (fieldName == "yValue"){
         var count:Number = 0;
         for(var i:uint=0; i<_dataProvider.length; i++){
              var date:QueueItemVO;
              if (_dataProvider[i].itemDate == item.itemDate){
                   //count++;
                   trace(count);
         //trace(item.itemDate);
         //trace(count);
         return count;

Maybe you are looking for