Fast array building from two independent acquisitions

Hi all,
I'm trying to figure out a way to build an array very quickly (up to 5 kHz) from two independent acquisitions.  For the two acquisitions I have a counter input from an encoder and a normal analog input, the purpose is to correlate with high resolution a position to an output voltage.  I can run each independently fast enough, but the problem I'm having is figuring out how to line up the two signals into a single array simultaneously and at a consistent rate (5 kHz) to write out to a file.  My first hack was to read the two outputs into a while loop clocked by a wait timer, but the best I think I can do there is a 1 millisec wait which gives me no better than 1 kHz.  Any ideas?  Hopefully something simple I'm overlooking.  Running LabVIEW 7.1 on a PCI-6036E card.  Thanks in advance.

You're going to have to use hardware timing on the DAQ card and acquire multiple samples on each scan.
If you're using DAQmx (and you really should be), change the Read VI to
acquire multiple smaples from multiple channels. This single VI can
scan both channels and output a 2D array with each channels data in one
row of the array.
You'll also need to change your configuration setup to specify both channels and the smapling rate.
If you look in the Example Finder (Help menu>Find Examples...)
double click through "Hardware Input and Output">"DAQmx">"Analog
Measurments">"Voltage" you'll see several examples that do this sort
of measurment. Most of them only show how to acquire a single channel,
but can be easily modified to include a second channel.
Let us know if you need more help.
Ed
Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

Similar Messages

  • Writing data from two different acquisition rates into one file

    Hi,
    I'm using a compactRIO, and I have an anemometer outputting data at 4Hz to the serial port on the controller, and I am using a 9237 module to read strain from two channels at 40Hz. I would like to record all this data in one file, but I'm unsure how to have the data points match up with respect to time since they are read at different rates. Basically I have 10 strain data points for every one anemometer data point, but that one data point needs to somehow be associated with the other 10 read in the same amount of time. It would be okay to "extend" the slower data to the 10 strain points, and likewise to the next ten when the anemometer refreshes its values.
    Thanks for any input!
    Andrew

    Check out the Queue multi-plexer vi from the examples.  C:\Program Files\National Instruments\LabVIEW 2009\examples\general\queue.llb\Queue Multiplexer.vi
    If each data acquisition loop enqueues data to one file writing loop the data is writen in order.  Queues are really a good way to multiplex data sources 
    Message Edited by Jeff Bohrer on 01-29-2010 09:44 AM
    Jeff

  • Acquiring a signal from two separate DAQs at different rates at the same time

    Hi I am trying to setup a system where I need to build two separate arrays one from two separate sets of data. The data needs to be brought in at the same time, but at a different rate. One set is from the PCI-4472 and will come in at ~10Hz, while the other is from a SCXI-1102 that is connected one channel on a PCI-6070E at ~3-5Hz. I was wondering how to have the two be read at the same time, but at the different speed. I am using LabView 6.1. Thanks in advance.

    Hi Muheesh:
    Since your DAQ's are working at an exact multiple of one another, what you could do is fill alternate channels with some "DUMMY" data...like zeros. Then you could index the array and match it up with the faster card. It might seem like a waste of memory, but it will give you two sets of aligned data, which seems to be what you need. If you're operating them at some weird multiple, it's a bit trickier. Whatever you do, you're going to have to insert some bits somewhere. Look for a least common factor (LCF) of your sample rates, and see if you can divide by that before logging the data.
    Eric
    Eric P. Nichols
    P.O. Box 56235
    North Pole, AK 99705

  • How to modify the VB examples in ni-scope to sample data simultaneously from two channels in PCI 5922?

     Dear all:
    I want to write VB programs to sample data simultaneously from two channels in PCI 5922. The niscope driver has some example VB programs to sample data from one channel, for example, the "save to file ", the program works well to sample the data from one channel.  When I modify it to sample data simultaneously from two channels, I always get error so I seek your help on how to write the program to sample two channels simulatenously. Thanks.  I attached the sample program here and what I tried to modify is the "channel name" and "waveform()"
    Regards
    Andy
    Attachments:
    savetofile.doc ‏42 KB

    Hi Bajaf, regarding the FFT of the four channels, the next link might be what your looking for:
    http://digital.ni.com/public.nsf/allkb/862567530005f09c8625671b00739970
    Respect the phase issue how are you doing the acquisition of the signals, are you doing two independent acquisitions? if you are controlling them as independent acquisitions try to synchronize them with triggers and the clock.
    How much are they out of phase?
    By the way we know have forums in Spanish
    Best Regards
    Benjamin C
    Senior Systems Engineer // CLA // CLED // CTD

  • Iphone 5: updating to IOS 7.02 from IOS 7.0 battery runs out really fast down 50% in two hours when the phone is closed

    after updating my Iphone 5 to IOS 7.02 from IOS7.0 (with IOS 7.0 everything was fine) i have a battery life issue.
    my battery runs out really fast down 50% in two hours when the phone is closed.
    could someone help plz?

    I found this article from Google helpful.
    http://howto.cnet.com/8301-11310_39-57604792-285/for-longer-battery-life-change- these-ios-7-settings/
    Cheers

  • Build and essbase cube from two facts

    Hi,
    I wanna now if is possible build an essbase cube from two facts. My source is a dwh that have two facts.
    - Fact A with dimensions D1,D2 and D3
    - Fact B with dimensions D1,D2 and D4
    Both facts have a relation 1 to n. How can i model that?
    Thank you

    any suggestion?

  • How can two independent DirectAccess servers be set up safely in the same domain?

    I've got a single-tier certificate authority running on a 2008 r2 domain controller with an expiring root certificate. I have a new 2012 r2 domain controller with a new single-tier certificate authority. I also have a DirectAccess server running on 2012
    server (two NICs, NAT, IP-HTTPS only). I'd like to get a new DirectAccess server set up running server 2012 r2 using the new CA for the various DirectAccess server and client computer certs. I can get the new environment working and flip machines from
    the existing implementation to the new implementation.
    I was previously told by a tech working one of my Microsoft support tickets that two independent DirectAccess servers can't run in the same domain. However, I posted a related question
    https://social.technet.microsoft.com/Forums/projectserver/en-US/ab53a314-91ea-4d40-afd5-6b8f62698547/2012-directaccess-and-expiring-certificate-authority?forum=winserverNIS and got a response indicating that two independent DirectAccess servers can run
    in the same domain. If I can carefully get a second server operational within the same domain, I can build a reg file to deploy to all machines prior to the cutover that will simulate the gpupdate for broken machines in the field, getting them connected so
    the policy can be properly pulled from a DC. Would anyone else be willing to confirm or elaborate on operating two independent DirectAccess servers in the same domain? What are the gotchas?

    Hi,
    Yes you can have 2 Da deployments in one domain.
    I have done this a number of times for customer when upgrading from UAG DA to 2012.
    Make sure you use different Group policies for the DA servers and Clients. make sure you target the client with only one GPO at a time. Also use different AD groups.
    You then change the GPO assignment to the clients and they will flip when the client does a gp update. I have done this for a site that had over 5000 clients and we didn't have one call about it.
    You can use DirectAccess Offline Domain Join for any broken machines.
    https://technet.microsoft.com/en-gb/library/jj574150.aspx
    Regards, Rmknight

  • How do I create an xy chart using two independent while loops?

    Hi everyone,
    I am trying to develop a data acquisition program. In this program, I have two independent while loops that each output a number of type double each iteration of the loop. I am able to successfully create two independent waveform charts (data vs. time) for each of the loops when it is placed inside. However, I now want to create an xy chart of the live data (the output of one loop is x and the output of the other is y).
    I am having trouble doing this because of the separate nature of the loops...when I try to pull data outside of the loops it (naturally) doesn't refresh with each loop iteration causing the xy chart to not work in the way I intend. Is there an easy way to fix this? If more clarification is needed, please let me know!
    David
    Solved!
    Go to Solution.

    Yes, more clarification is needed. Please attach your code to clarify.
    I'll take a wag at it, though. It sounds like you are trying to pair X and Y data which happen during a single time chunk, then repeat, is this right? (If not, don't bother to read on.) If so, why not just use a single loop. If your VI is getting too big/complicated for comfort, just put the data-generating stuff into subVIs which run to generate a single data point, then stop, put them into a while loop and send the putputs to a graph or chart inside the loop. That way you won't extend your data trace until you get one and only one point from each subVI and things will stay synchronized.
    Cameron
    To err is human, but to really foul it up requires a computer.
    The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
    Profanity is the one language all programmers know best.
    An expert is someone who has made all the possible mistakes.
    To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):
    LabVIEW Unit 1 - Getting Started
    Learn to Use LabVIEW with MyDAQ

  • Simultaneous access from two virtual mashines on one framegrabber

    Hello,
    is it possiblie to get access from two virtual mashines on one framegrabber. I want only get the information from Cam-A  and transfer it to virtual mashine A. For Cam B and virtual mashine B is it similar.
    My problem is that I have to measurements but they have to run at they same time and I want to use the Vision Builder AI for this. If it's right that that  the Vision Builder is able to do only one measurement at the same time.
    Another solution could be, to export the vbai to .vi's and import it to LabVIEW, coundn't be?
    best regards
    phil
     

    As far as I know, virtual machines cannot access plugin frame grabbers. Are you using GigE cameras (which should work in VMs since they can use GigE ports of PC), or CameraLink cameras (which shouldn't work in VMs since they require plugin frame grabbers)? As far as processing images from two different cameras at the same time in VBAI, You can process images that were acquired at the same time in VBAI, but the processing steps don't execute simultaneously. Do you just need the acquisition to be in parallel or the processing as well. Why does the processing need to happen in parallel (is it for timing/perfromance)? If the inspection is running on windows, you can have two instances of VBAI running at the same time and each instance can process a different camera, but it may be more challenging to coordinate the results of the two different inspections if they need to be combined at some point. If you are acquiring on Windows, you could also use the API in LabVIEW to control the two inspections that are happening in parallel and coordinate the results. See the example of how to use the API here:
    \<NI Install directory>\Vision Builder AI 2014\API Examples\LabVIEW Examples
    Hope that helps,
    Brad

  • How to create Analysis from two different subject areas with diff models

    Hello,
    I have problem with create analysis from two different areas with two different models (Model Star and Snowflakes) build in BI Admin tools.
    First Model A = Subject Area A have one fact tables (with measures) and three dimensions tables (Model Star)
    Second Model B = Subject Area B have one fact table (no measures) and five dimensions tables (Model Snowflakes).
    I'm looking solutions how I can give good results. In this case I can't use UNION, INTERSECT etc., because this models haven't the same number column and data type?
    whether it is possible to do in OBIEE?
    Please help me
    Kind regard
    robix

    Hi
    One thing to understand is that if your are imagining having two Subject Areas (SAs) displayed and then dragging columns from each into your Request without any preparation, then no, that can't be done. You would need to do a join in the BMM layer and expose the column from the second Subject Area in the presentation layer.
    But if you indeed interested in UNION (or intersect) queries, then do this:
    Build your first query in the first SA in the usual manner. Note the number of columns and the data types of each column.
    Now at the bottom of the Criteria workspace, there is a button called "Combine with similar request." Click it.
    Select your second SA. You will note that the outlines of the columns in your first query appear. This is to remind you that the number of columns in this second query must be the same as in the first. It also shows the data type of each column for the same reason.
    Once you select your columns and your filters, click on result. (Oh, you will also need to decide what kind of combination you want -- click on the dropdown.) The result will be a new Request that has data from both SAs in the query and combined in the manner you select (union, intersect, etc.)
    That should give you a start.
    http://obiee101.blogspot.in/2010/08/obiee-combine-with-similar-request.html -- Read this link this is good one to understand with screen shots. -- OBIEE 10g
    http://oraclebiee11g.blogspot.in/2011/01/querying-across-multiple-subject-areas.html -- OBIEE 11g
    Award Points it is useful.
    Thanks
    satya

  • HT1660 i have two independent itunes libraries on my computer right now. how do i consolidate them into one library? how do i get rid of duplicate files?

    i have two independent itunes libraries on my computer right now. how do i consolidate them into one library? how do i get rid of duplicate files?

    Hello rmunsey,
    Thank you for the question.  It sounds like you have two separate iTunes Libraries but would like to add the music from one to the other to have one consolidated library.
    If you know where the files are for each library, I recommend opening one iTunes Library in iTunes and importing the files from the other library using the following steps:
    Open iTunes
    From the File menu, choose one of the following choices:
    MacAdd to Library
    Windows
    Add File to Library
    Add Folder to Library
    Navigate to and select the file or folder that you want to add
    Adding music and other content to iTunes
    http://support.apple.com/kb/ht1473
    Next, you can search for duplicates:
    Choose View > Show Duplicate Items to show duplicate items (matches are based on the song name and artist). If you have multiple versions of the same song (for example, live and studio versions, or versions from different albums) you can hold the Alt or Option key (for Mac OS X) or the Shift key (for Windows) and choose View > Show Exact Duplicate Items. This will show only duplicate songs having the same name, artist, and album.
    How to find and remove duplicate items in your iTunes library
    http://support.apple.com/kb/ht2905
    This should help you identify the duplicates all at one time so that you can delete the extra versions of songs.
    Thank you for using Apple Support Communities.
    Best,
    Sheila M.

  • Can I transfer Time Machine data from two separate hard drives into one new one?

    I'm using a MacBook Pro as my primary computer.  My 500 gig Time Capsule filled up a year or so ago, so I stopped using it with Time Machine for awhile so I could keep the data from those old back-ups.  There were a number of things I deleted from my computer's very limited hard drive after they were backed up to the Time Capsule.  I got a 1T external USB drive last year to use as my "filing Cabinet" to store files I didn't necessarily need all the time or that were filling up my small laptop hard drive--including my iTunes library--all organized in a way that made it relatively easy for me to find what I needed, even if I didn't remember exactly when I'd filed it or what I'd called it.  I got another 1 terabyte external (portable) drive last July and dedicated it to TimeMachine backups and labeled it "TimeMachine".
    Over the last couple of weeks, my friend has been helping me upgrade to Yosemite and clean up my laptop hard drive.  Last week he cloned my laptop hard drive to a new 1T hard drive and I exchanged it for my old drive in my computer today. All good.
    Here's the issue.  We replaced my Time Capsule hard drive with a 1 terabyte drive with the idea of transferring the data from the old Time Capsule (500G) drive and the newer USB 1T "TimeMachine" compact drive to the new 1T Time Capsule drive and beginning using the latter for my Time Machine backups going forward.  Originally he thought we could copy everything from each of my external drives (the old 500gig drive from my Time Capsule, the USB "TimeMachine" drive I've been using since July, and the "file cabinet" files) to my computer in their own folders and then start regular TimeMachine backups to the new Time Capsule drive, thus preserving all my old data and making regular backups going forward.  The "file cabinet" data was no problem at all, but when I tried to copy my USB "TimeMachine" data to my computer, I was unable to.  My friend found instructions for transferring old TimeMachine data to a new TimeCapsule, but I don't know if I can transfer the data from two separate disks to the new TimeCapsule drive. I'm afraid that one set of data will supersede the other and either my newer backups or my old ones will be lost if I try to transfer both. 
    Are my fears justified or is there a way to insure that no such problem will occur?  Of course, my data will still be on those two older drives, but that won't do me a lot of good if I can't access it when I need to. Also, the 1T drive now belongs to my friend; he used a brand new drive he'd bought for himself for my new internal hard drive and plans to take my 1T "TimeCapsule" drive in exchange, once the data has been transferred, so he will, of course, erase that drive. 

    Should we be able to bring up the old (500G) Time Capsule Drive to rename it using a SATA to FireWire harness and then copy the whole thing to the new Time Capsule drive?
    You can copy a whole sparsebundle from one drive to another. That is not a problem. Whether you can access the sparsebundle is something you should test before you even start though.
    If it's on the Desktop and I don't tell Time Machine to exclude it from backups, will it just automatically back it up?
    All drives you plug into the Mac are excluded by default.. you must include them. So no problems there.. but I hope I am understanding the question.
    Will both volumes or directories (which is the right term?) show up when I open Time Machine?
    No, Time Machine will only open what it is told to open... or its backup default location.
    You can force Time Machine to open alternative/old/no longer used backups by (now I have a problem as things have changed somewhat in Yosemite and I consider it alpha release software at this point in time). The old method was to right click on the TM icon and select a different TM backup. easy. Yosemite seems to have made easy stuff harder.
    Here it is on my current computer.. clearly not Yosemite.. Right click on the TM icon in the dock.. select Browse Other Time Machine Disks.. And supply the info of where that is located. Easy. If you cannot figure it out one of the other posters here (with more patience than me for Yosemite) will help you.
    Or will we have to partition the new drive somehow--is that even possible?
    I am getting more lost as I go down the list.. but the TC disk cannot be partitioned.
    If you have included all those USB drives in the new backup on a Time a Time Capsule.. you have made life rather hard because now your files are stored another layer deeper than they were.
    So to open a file from a disk you need to open the sparsebundle.. then dig down to the drive in question and then dig down to the backup.. and all of this means Time Machine has to work perfectly which is Yosemite is a very big ask.
    I thought you wanted to just backup your old drives to central location.. which means copying the files to a separate folder on the Time Capsule.
    One correction I need to make to my post, which will make my strategy make a bit more sense: my new Time Capsule drive is 4T
    It makes it much harder.. and I have to pose a real question of long term .. if you have put a 4TB drive in a Gen1 TC.. did you also replace its power supply because I can assure you the drive might be ok but the TC itself will not last forever.. and what happens when it dies. The Gen1 power supply is already well beyond its normal life span and the vast majority are dead. When the backup device is unreliable and the backups on it are made that much harder to get access to.. is this a great plan??
    If you are going to consolidate all your old files on one disk.. a task I find understandable. I have done much the same albeit the usefulness of files made on emac running OS9 may be questioned. A disk lying in the bottom of a draw is a more appropriate place for them.
    You want those files as easily accessible as possible (at the point of recovery) and not buried inside a sparsebundle.. particularly not a sparsebundle from the old TC disk buried inside a new sparsebundle.. keep files as accessible as possible as you can run searches.. and that is best done on a USB 3 (or faster ie thunderbolt) drive plugged into a new(ish) computer.. not network. And since the files are not being accessed on a daily/weekly or even monthly or yearly basis.. keeping them in actively running TC network storage.. I would say is a waste of space. That is only my opinion of course.. you might consider it highly important that files you will never look at are available any time of day or night when the urge comes to track down that elusive pimpernel email you sent 10 years ago... but I find it hard to justify. What the case.. the problem with TM and things like Mail is you cannot search it.. you must restore the whole library/files/program even before you can access it.. that makes file recovery out of a sparsebundle double step process.
    So.. summary.
    If you want to store files on the 4TB drive in the TC.. that is not a great strategy but it can work.. simply create a folder named.. OldFilesEMac for instance.. and do a simple copy and paste of all the file to that location. Do not use TM.. Since you have already used TM.. and from what I am reading you have already done the backup with the external drives included.. then you are going to end up needing to erase the TC and start over.. which you may not be prepared to do.. which is fair enough. (I am coming across as overbearing school master.. apologies).
    TM is to backup your main OS and current files.. not files from 10-20years ago.
    Please do read the issues involved in Pondini..
    See his FAQ. I recommend you read through Q14-17 so you understand what is involved in recovery.
    http://pondini.org/TM/FAQ.html
    I also recommend you read the first couple of articles here. http://pondini.org/TM/Home.html
    Particularly so you understand the complexity of Time Machine.
    And the articles here. http://pondini.org/TM/Time_Capsule.html
    Particularly Q3 on mixing data and backups on a TC.
    I wish I could spend an hour or two face to face and work it out.. the whole strategy to do this.. !!

  • How to Launch an Integration Builder under two different java versions

    How to Launch an Integration Builder under two different java versions     1
    1. Situation     2
    2. How To Do     2
    2.1 jre preparation     2
    2.2 Put them into the system     2
    2.3 Execute a Java Web Start under jre 1.4.x version     3
    2.4 Change Java Runtime Versions     3
    2.5 Launch an Integration Builder     6
    1. Situation
    OS: windows 2000 pro – English
    Java version: jdk 1.5.x was already installed. (It’s not permitted to change.)
    I don’t have any authorization to install any software on the PC.
    But I need to use an Integration Builder.
    I already knew URLs of an Integration Builder (http://<hostname>:50000/rep/start/repository.jnlp).
    2. How To Do
    At this moment, an Integration Builder (XI 3.0) can be launch under jre 1.4.x environment (on windows).
    2.1 jre preparation
    I download j2re-1_4_2_10-windows-i586-p.exe from http://java.sun.com/j2se/1.4.2/download.html
    I installed it on my home PC and copied all files from C:\Program Files\Java\ j2re1.4.2_10\ into my USB.
    2.2 Put them into the system
    I pasted j2re1.4.2_10 folder from my USB into the windows 2000 pro system.
    Finally, I could list up all of javaws.exe under this system.
    c:\j2re1.4.2_10\javaws\javaws.exe
    c:\Program Files\Java\jdk1.5.0_05\bin\javaws.exe
    c:\Program Files\Java\jdk1.5.0_05\jre\bin\javaws.exe
    c:\Program Files\Java\jre1.5.0_05\bin\javaws.exe
    2.3 Execute a Java Web Start under jre 1.4.x version
    I executed c:\j2re1.4.2_10\javaws\javaws.exe .
    2.4 Change Java Runtime Versions
    Go to File-> Preferences -> Java
    As you can see, it indicates 1.5 version.
    Click [FIND] button.
    Click [NEXT] button.
    Click the j2re1.4.2_10 folder.
    Click [NEXT] button.
    A JRE Finder is able to find javaw.exe automatically. Or you can indicate C:\j2re1.4.2_10\bin\javaw.exe directly.
    Click [NEXT] button.
    Finally, there are two Java Runtime Versions. Now you need to uncheck the Enabled column of 1.5 version and check 1.4 version.
    Click [OK] button.
    Well, in the General tab, I selected None for Proxies.
    2.5 Launch an Integration Builder
    In the Location field, I typed the URL of an Integration Builder jnlp.
    http://<hostname>:50000/rep/start/repository.jnlp
    SAP Integration Builder comes up inside Applications area.
    Select it and click [Start] button.
    If you click Environment-> Integration Builder (Configuration), you can launch Integration Builder: Configuration.
    [PDF file location] with screenshots
    http://SDN.mobilian.org/SDN/How2LaunchIB.rar
    ===================Advertisement==========================
    How do you search SDN?
    What about [<b>SDN Search Widget</b>]?
    SDN Search Widget
    =========================================================

    I am not getting anywhere with deploying my application or
    applet.
    I have set up my bc4j project. It contains all my VO info,
    links, application module. (proj a)
    I then have another project with DbInfo in it(has all my rowset
    info), Multiple Frames, and my Applet.java file.
    Actually I have an Applet.java file and a Application.java file
    because I was seeing if both/either worked. Anyway they seem the
    same, except for that extra window that comes up when you run the
    applet.
    I follow the steps in the oracle directions (from earlier post).
    And all seems ok. But at ---->
    [*] Select the subdirectory under myhtml where your applet's HTML
    file
    is located, and enter the directory path of the 'staging'
    directory you
    created in step 3 above, if different from the default.</li>
    [*]Select the HTML files that JDeveloper created to run your
    applet.</li>
    [*]Select all of the Java source files in your project that make
    up the
    applet.</li>
    I have no HTML file associated with my applet, at least that I
    know of.
    So do I need to create one, or should it of been done
    automatically.
    Also, I trying to figure out what will be the best way to deploy
    my project. Applet or stand alone application is what my first
    choices have been so far. I have read that there is some issues
    with applets being served from a different server than the
    database. So a stand alone application was my front runner, but
    I haven't gotten either way to work yet.

  • SSAS data source calculating from two data source

    Hi There,
    I have SSAS cube and use SSRS 2008R2. Basically I have cube A for current month income statement, cube B from previous month, they have shared the same dimensions. I want to create  report to show
                      current month  previous Month            Calculation
       Account               Amount A         Amount B            Amount A - Amount
    B
    Revenue                 Amount A         Amount B            Amount B
       Expense              ,,,,,,
    Net Income
    Any advice?
    Thanks
    Don

    Hi Dz0001,
    According to your description, you want to combine the data from two cube into one tablix. Right?
    In this scenario, since your two cube share same dimensions, we can use lookup() function to retrieve the income from another dataset based on the data field for dimension rows.
    For example, let's say you have DataSet1 retrieves data from cube A with data fields
    Account and Income, DataSet2 retrieves data from cube B with data fields
    Account and PreIncome. When rendering the data field from DataSet1 in a table, you can use the expression below in detail row.
    =Lookup(Fields!Account.Value,Fields!Account.Value,Fields!PreIncome.Value,"DataSet2")
    Reference:
    Lookup Function (Report Builder and SSRS)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou
    TechNet Community Support

  • Dataset from two set of tables based on condition

    I have two queries that will return same columns from two different set of tables ( column mapping has been taken care of). The return type is out ref cursor. (P_SUPPLY_REORDER )
    Query 1-SO
    select
    so.SMO_NO,
    so.SPLY_ORD_DT,
    so.fk_CUST_ID as CUST_ID,
    so.CUST_PO_NO,
    so.ATTENTION_NAME,
    sum(sol.SPLY_ORD_QTY) as SPLY_ORD_QTY,
    --sum(sol.sply_shp_qty),
    so.ST_NAME,
    so.ADDR_LN_2,
    so.ADDR_LN_3,--sta.SHIP_TO_ADDRESS_LINE_3,
    so.CITY_NAME,
    so.ST_TERR_CD,
    so.ZIP_CD,
    so.SPCL_SHP_INSTR_TXT,
    so.SHP_CNFRM_DT
    ,XCOM_ORDER_NO
    from
    supply_order so,
    supply_order_line sol,
    XCOM_ORDER_HEADER
    where
    so.FK_CUST_ID =in_cust_id
    and so.pc_ord_no = sol.fk_pc_ord_no and
    XCOM_ORDER_HEADER.FK_PC_ORD_NO = so.PC_ORD_NO
    group by so.SMO_NO, so.SPLY_ORD_DT, so.fk_CUST_ID,
    so.CUST_PO_NO, so.ATTENTION_NAME,
    so.ST_NAME, so.ADDR_LN_2, so.ADDR_LN_3, so.CITY_NAME, so.ST_TERR_CD,
    so.ZIP_CD, so.SPCL_SHP_INSTR_TXT, so.SHP_CNFRM_DT, XCOM_ORDER_NO;
    Query-2 Xcom
    select
    null as sMO_NO,
    xso.created_date as SPLY_ORD_DT,
    xso.fk_cust_id as cust_id,
    cust.cust_po_no as cust_PO_NO
    ,(sta.SHIP_TO_ATTN_FIRST_NAME||''||sta.SHIP_TO_ATTN_LAST_NAME) as attention_name,
    xsol.CARTONS_ORDERED as SPLY_ORD_QTY,
    --sum(sol.sply_shp_qty),
    sta.SHIP_TO_ADDRESS_LINE_1 as ST_NAME,
    sta.SHIP_TO_ADDRESS_LINE_2 as ADDR_LN_2,
    --sta.SHIP_TO_ADDRESS_LINE_3,
    NULL as ADDR_LN_3,
    sta.ship_to_city as CITY_NAME,
    sta.SHIP_TO_STATE as ST_TERR_CD,
    sta.SHIP_TO_POSTAL_CODE as ZIP_CD,
    sta.SHIPPING_INSTRUCTIONS as SPCL_SHP_INSTR_TXT,
    null  as SHP_CNFRM_DT,
    xso.XCOM_ORDER_NO as XCOM_ORDER_NO
    from
    XCOM_ORDER_HEADER xso,
    XCOM_ORDER_LINES xsol,
    customer cust,
    ship_to_address sta
    where
    cust.cust_id = xso.fk_cust_id and
    sta.fk_cust_id = xso.fk_cust_id
    and xso.FK_CUST_ID =in_cust_id
    and xso.FK_PC_ORD_NO is null
    and xso.xcom_order_no = xsol.fk_xcom_order_no;Now the requirement is
    One of four conditions are possible for each Supply Reorder Number:
    •     Both table queries return no records
    -     Populate all the P_SUPPLY_REORDER output fields with nulls
    •     SUPPLY_ORDER returns a record, but XCOM_ORDER_HEADER returns no records
    -     Populate output fields with values from the join of SUPPLY_ORDER and SUPPLY_ORDER_LINE.
    •     SUPPLY_ORDER returns no records, but XCOM_ORDER_HEADER returns one record
    -     Populate output fields with values from the join of XCOM_ORDER_HEADER and XCOM_ORDER_LINES.
    •     SUPPLY_ORDER returns a record, and XCOM_ORDER_HEADER returns a record; find out the latest order by comapring max(SPLY_ORD_DT)
    from SUPPLY_ORDER with max(CREATED_DATE) from XCOM_ORDER_HEADER.
    -     If the latest order is in SUPPLY_ORDER, then populate output fields with values from the join of SUPPLY_ORDER and SUPPLY_ORDER_LINE.
    -     If order dates are equal from both join results, then populate output fields with values from the join of SUPPLY_ORDER and SUPPLY_ORDER_LINE.
    -     If the latest order is in XCOM_ORDER_HEADER, then populate output fields with values from the join of XCOM_ORDER_HEADER and XCOM_ORDER_LINES.
    Question is how can we switch over the queries to pull respective dataset based on these conditions ( checking that which table join is going to return a row and then based upon latest order if both tables return a row) and all this logic as part of single SQL statement that is returned as OUT Ref Cursor.
    Your help will be really appreciated. Thanks much in advance.

    It would be easier if you would supply a dataset we can work with. And I assume the queries are called within a other cursor which returns in_cust_id right?
    The best/fasters way would be to say goodbye to nested cursors.
    You need:
    the in_cust_id_query
    extend SUPPLY_ORDER with a new field
    max(CREATED_DATE) over (partiontion by cust_id) max_created_dateextend XCOM_ORDER_HEADER with a new field
    max(SPLY_ORD_DT)over (partiontion by cust_id) max_sply_ord_dateThen you make a 3 level SELECT
    the innerst () join all 3 sources
    the second level names the rule
    the outermost level applies the rule to each field:
    SELECT
    -- case statement to each field:
    CASE rule
    WHEN 1 THEN null
    WHEN 2 THEN s_smo_no
    WHEN 3 .... END  SMO_NO,
    SELECT
    -- check all rules:
    case
    --• Both table queries return no records
    when s_in_cust_id IS NULL and h_in_cust_id IS NULL then 1
    --• SUPPLY_ORDER returns a record, but XCOM_ORDER_HEADER returns no records
    when s_in_cust_id IS NOT NULL and h_in_cust_id IS NULL then 2
    --• SUPPLY_ORDER returns no records, but XCOM_ORDER_HEADER returns one record
    when s_in_cust_id IS NULL and h_in_cust_id IS NOT NULL then 3
    ELSE 4 end rule_id,
    i.*
    (SELECT c.in_cust_id,
                 s.*, (with alias of course eg. s_...)
                h.*, (with alias of course  e.g. h_...)
    from  in_cust_id_query c
      LEFT JOIN SUPPLY_ORDER s
       on (c.in_cust_id = s.in_cust_id)
    LEFT XCOM_ORDER_HEADER h
      on (c.in_cust_id = h.in_cust_id) i;I hope you get it.
    Of course you can do what you probable currently do. Open both cursors one by one and compare the results. But when you have 10000 in_cust_ids you start 20000 queries and you have a lot of code.
    This method I'm showing need these roles coded as well, but you'll have ONE single query and that will be as fast as ORACLE can be. And I believe it's easier to read too. (But not simple!)
    If you need more help, try to supply an example we can work on.
    -- andy

Maybe you are looking for

  • Using Wii on MBP

    Hi, I know it's possible to hook up playstations and other game consoles and use the macbook pro as a monitor, using a tv card with breakout cables (i.e. elgato USB sticks). Has anyone been able to successfully use a Wii, with its motion sensors, in

  • Newest Update has taken over 10 hours to get to 9% on overall back up progress.

    I started the update at 11:30pm when i woke up to start work at 8am the progress bar was at 9%...  It is still at 9% and i need to use my phone for work and cannot do so. Any ideas on how to solve this?

  • Photo stream stopped working

    I was using photo stream and right in the middle of it it just stopped. Now it won't transfer anymore of my pictures. I have 2 "new" iPads and was trying to load all of my pics from one to the other.

  • N or Eseries recommendations needed

    I'm looking to replace my N70, but I'm having trouble deciding which to go for. I need a phone that will read word documents exactly the same way as my N70 does with quickword. None of this scroll along the line, then scroll back to begining of line

  • Export for web Process terminated unexpectedly (11)

    I have a licensed version of QuickTime Pro. And a licenced version of FCE. I try to export a project 2 Quick time movie files put together one with a 83,291 Bit rate and the other with a 79,409 bit rate. Both use the Apple Intermediate Codec, Integer