extract values from graph

Hello

In the attached LabView routine, I'm trying to find a method by which I can tabulate the values (values of the axes x and y) return where and at what level the "spikes" occur.  In this example, I would like to extract the values of two:

1000000 - 40.3316

190193837.04 - 37.653182.

From these points the spikes occur.

The cavet is that these and other tips can occur anytime and at different levels.  Any help to extract these data will be useful.

Thank you

hiNi

Use the VI threshold detector.

Is the long ramp down at the start of the data series still present?  If so you would always delete the 0 index before the final release.

Here is a starting point...

And you may not want to do the threshold of a control or a different level of value that I did.

Tags: NI Software

Similar Questions

  • Extract data from graph XY

    Hello

    Here, I want to extract data from the XY graph. I joined vi which I use for table 1 d. How can I use this for 2D table VI.

    Thank you

    Hi Alex,

    You can use the same approach.

    The only thing that changes is the function ArraySubset in its adaptation to the 2D matrix. You can select rows or clumns of your data (depending on how you have generated them)...

  • Help extract value from the list defined by the

    Hi all

    I posted this question in the forum of PL/SQL (help to extract the delimited list values by the but as Justin answered, there may be a solution in APEX, so I wanted to ask here as well.)

    ----------

    I have a procedure similar to that below and I'll send IN parameters from a screen of Apex.
    procedure getData (p_param1 in varchar2, p_param2 in varchar2)
    is
    begin
    
    
    for x in (select col1, 
                  from table
                  where colx = param1
                  and coly in (param2)
                  )
                  
    ....
    
    end;
    It works fine until the user chooses several values on the page of the Apex (that's a multiple selection list box). The values are passed to the procedure in a colon delimited list, it looks like
    VALUE1:VALUE2:VALUE3
    My question is, how can I analyze the values while the where clause looks like.
    ...
    where colx = param1
    and coly in ('VALUE1','VALUE2')
    ...
    or something like that?


    Thanks for any help.

    -Chris

    Chris,

    See this example:

    http://Apex.Oracle.com/pls/OTN/f?p=31517:138

    Denes Kubicek
    -------------------------------------------------------------------
    http://deneskubicek.blogspot.com/
    http://www.Opal-consulting.de/training
    http://Apex.Oracle.com/pls/OTN/f?p=31517:1
    -------------------------------------------------------------------

  • Extract values from the UDM

    Hello

    I created a few sql command UDMs and I need to extract their values if I can do some calculations.

    I have the 11.1 database

    Thanks in advance for your help.

    Kind regards
    Sagar

    Hi Sam,

    You can get the current values using:

    Select target_name, metric_label, column_label, value, target_type, key_value

    Mgmt $ metric_current where target_name =: targetname

    and metric_label = "User - Defined SQL Metrics"

    order of column_label

    for the story of a metric, you need to use mgmt$ metric_hourly, mgmt$ metric_daily

    HTH,

    Andrey

  • AppleScript - extraire extract values from a table, create a text file with these values

    Hello world

    Lets say I have a table that looks a bit like this

    And this table I would create 2 text files (or even more, depending on how many switchnames are there) who look a bit like these

    Is it still possible?

    I suppose to create a Service (which can be called in numbers) with Automator which includes an Applescript script - but - no idea since the script is not one of my strong suits.

    There is not need to be perfect, because tables are not necessarily the model presented above - so to tweek the script to the application will be necessary. The text files can be created/saved in the same folder as the file numbers is in.

    Y at - it script-genius out there?

    See you soon

    Florian

    Select the column of fist of the data, and then run this script by copying the Forum and paste it into the script editor.  The files will appear on the desktop

    say application "Numbers".

    say front document to tell the worksheet active

    say ( class is worn) fromfirst table whose selection range

    selectionRange defined in column 1 of the selection

    set cnt to 0

    the value destRange for range

    the value currentList to {}

    -the list of switches

    Repeat with acellule in selectionRange cells

    -say acellule to set the value on the NTC

    pass the value to the value of cell

    if and ((cnt > 0) (switch is not missing value) and (currentList is not contain switch)) then

    switch and the value in the currentList currentList

    end if

    NTC put to the cnt + 1

    end Repeat

    -Display dialog box "to the list of items is:" & currentList & "a list" & (currentList County) ".

    Repeat with aswitch in currentList

    " game textOut to '# Script generated with Applescript for switch' & aswitch &"

    # on "& (today's date) &"

    !

    conf t

    "

    set cnt to 0

    Repeat with acellule in selectionRange cells

    -say acellule to set the value on the NTC

    pass the value to the value of cell

    -Display dialog "aswitch is []" & aswitch & "] and switch is []" & switch & "]".

    if (aswitch contains the switch) then

    the value cellCol to address a column of first cell of acellule

    address of line of first cell value cellRow in of acellule

    value to the aport (value of the cell of the column (cellCol + 1) cellRow) integer

    the value vlan for the (value of the cell cellRow of column (cellCol + 2)) integer

    the value desc to the (value of the cell cellRow of column (cellCol + 3))

    " put to textOut textOut &.

    !

    "" IG 1/0 interface / "& aport &.

    switchport mode access

    switchport access vlan "" & vlan & ""

    Description LINK TO "" & desc & ""

    "

    on the other

    -Display dialog box "did not: []" & aswitch & "] and []" & switch & "]".

    end if

    NTC put to the cnt + 1

    end Repeat

    Set myFile to open for access (path to the Office as text) & aswitch & '_output.txt' the with write permission

    textOut write to myFile

    MyFile close access

    end Repeat

    end say

    end say

    end say

  • ADF11g: problem with extracting value from a choice of select

    Hello
    I use ADF 11 g.

    in my application using a view object (VO1), I had created a select only one option.

    My view (VO1) object is to have two fields:
    Product
    Price

    In select a choice I display only the product.

    My requirment is to fetch the price of selected product. To do this, I wrote under the piece of code:
    FacesContext facesContext = FacesContext.getCurrentInstance ();
    Application app = facesContext.getApplication ();
    ExpressionFactory elFactory = app.getExpressionFactory ();
    ELContext elContext = facesContext.getELContext ();
    + ValueExpression valueExp = elFactory.createValueExpression (elContext, "#{bindings.") Price.inputValue}", Object.class); +.
    + String pricingAttrValue = (String) valueExp.getValue (elContext); +

    Above the code price is an attributeName mapped in pageDef.xml

    * But the problem I am facing is: *.
    When I try to retrieve the value of the price of the selected product, I get the value of the product you selected previously.
    To better understand:

    On the value change event to select only one option, we get 2 values:
    getOldValue()
    and getNewValue()

    * with the above code, I get price associated value OldValue while I need price value NewValue.*


    Help, please
    Thank you best regards n
    Maryline Roussel

    Hello

    You could do something like:

    BindingContainer bc = BindingContext.getCurrent().getCurrentBindingsEntry();
    ControlBinding cb = bc.getControlBinding("attributeName");
    AttributeBinding ab = (AttributeBinding)cb;
    ab.setInputValue(valueChangeEvent.getNewValue());
    

    Gabriel.

  • Extract values to graph 'PART 2'

    This question is based of the post found here.

    In th attached VI, how correctly set the threshold so that all the "tips" can be displayed in the list of "epi"? I should get 3 points in the list of the PPE.

    Thank you

    hiNi


  • 1074118649 error occurred at niUSRP extract data from Rx (2D CBD) .vi

    Hello

    When I was trying the example of the USRP OR which is "niUSRP EX Rx synchronized to multiple entries (MIMO Expansion)", a mistake is released which is

    1074118649 error occurred at niUSRP extract data from Rx (2D CBD) .vi

    A workflow command has been issued in the past.

    can anyboay help me solve the problem?

    Thank you very much

    Andy

    Hi andy,.

    what you need to do is reversing the Oder river where the screw niUSRP the value Time.vi and niUSRP Trigger.vi configure a1.1ppear. Time of first setting then set up trigger. The example works correctly with version 1.1, since you are using version 1.2, that changes must be made.

    In the example, you can set the clock to standard time (start time = 0) even if you had already triggered the reception. Thus, samples received will be acquired with time stamp later where the error.

    Best regards

  • Extract values of Contact

    I was wondering if it would be possible to extract the values (name, surname, address, etc.) when a contact is shared through the card sharing?

    So, an example of this would be:

    • Opening of the Contacts app
    • Click on a contact
    • Click on 'Sharing of Contact' in the overflow menu
    • Menu share rises
    • Click on my application
    • Invoke as card
    • Fill in the fields of different text with values from the contact

    I know that when you share a contact, it is in .vcf format, so I was wondering if there are samples available or would be how to retrieve these values and put them into the text fields?

    According to the docs contactFromVCard requires data VCard ("convert the vCard stream.")

    As your previous debug indicates the URI contains the location of the file (as it probably should). You must open and read the file to analyze it.

    Try
    QFile file (request.uri);
    If (file. Exists())
    {
    If (file.open(QIODevice::ReadOnly |) QIODevice::Text))
    {
    QTextStream textStream (&file);)
    fileContents = textStream.readAll ();
    leader. Close();
    }
    }

    not sure if QFile requires the path whole file:/// or perhaps only a substring of it, check the Qt documentation and examples for this.

  • To access the values from the row outside the ListView ListItem

    Hello

    I spent two hours browsing the forums and documentation with no chance of finding a solution on how to access the list item data from outside the listview.

    Let explain me my code. It is marked with I work and what does not work and its expected behavior.

    Should work behavior


    Tapping & getting data

    The arrayDataModel is filled with 4 rows. Firstly the list item, second item in the list... etc.

    • Tapping on the order of the day, label with the id of triggeredText displays the value of a threaded list item.
    • The index of the tapped icon appears in the label with the id of triggerredIndex.

    Incrementing Index using ActionItems onBar

    By pressing action items 'previous' and 'next', you can increment the index value to the label with the id of triggeredIndex. The order of the index is 0-4, even as total of the items in the list.

    How to extract data from the index when the value of triggeredIndex?

    Buttons

    The buttons at the bottom of the screen... Select 1, select the 2nd, 3rd Select should select indexes 0,1,2 of the list and display the value in triggeredText and triggeredIndex. They do not work.

    How did I pull the values when you click the buttons?

    import bb.cascades 1.3
    
    TabbedPane {
        id: root
        showTabsOnActionBar: false
    
        Tab {
            id: mainTab
            title: "Test List"
                Page {
                    id: mainPage
                    titleBar: TitleBar {
                        title: "List Traversal Test"
                    }
                    actions: [
                        ActionItem {
                            title: "Previous"
                            ActionBar.placement: ActionBarPlacement.OnBar
                            onTriggered: {
                                // get current selected index from list=
                                var currentIndex = parseInt(triggeredIndex.text);
    
                                if(currentIndex <= 0){
                                    //do nothing already at first item
                                }else{
                                    // subtract 1 from index ( ci - 1) ?
                                    var newIndex = parseInt(triggeredIndex.text) - 1;
    
                                    // show data from new selected index
                                    // ???
    
                                    // triggeredItem.text = XXX // the data
                                    // ???
    
                                    // triggeredIndex.text = X // the current index
                                    triggeredIndex.text = newIndex;
                                }
                            }
                        },
                        ActionItem {
                            title: "Next"
                            ActionBar.placement: ActionBarPlacement.OnBar
                            onTriggered: {
                                // get current selected index from list=
                                var currentIndex = parseInt(triggeredIndex.text);
    
                                if(currentIndex == 4){
                                    //do nothing already at lastitem
                                }else{
                                // add 1 to index ( ci + 1) ?
                                var newIndex = parseInt(triggeredIndex.text) + 1
    
                                // show data from new selected index
                                // ???
    
                                // triggeredItem.text = XXX // the data
                                // ???
    
                                // triggeredIndex.text = X // the current index
                                triggeredIndex.text = newIndex;
                            }
                            }
                        },
                        ActionItem {
                            title: "Clear"
                            ActionBar.placement: ActionBarPlacement.OnBar
                            onTriggered: {
                                // set current index to 0 (top item in list)
                            }
                        }
    
                    ]
                    Container {
                        preferredHeight: maxHeight
                        layout: StackLayout {
                            orientation: LayoutOrientation.TopToBottom
                        }
    
                        Label{
                            id: triggeredItem      // value of listitem from current index
                            text: "0"
                        }
                        Label{
                            id: triggeredIndex    // current index
                            text: "0"
                            onTextChanged: {
                                // set triggeredItem.text to contents of selected ListItem with same index
                                // STUCK HERE cannot access ListItem.dataModel(indexPath) from here....
                            }
    
                        }
                        Container{
                            ListView {
    
                                id: theList
                                objectName: "dalist"
                                dataModel: ArrayDataModel {
                                    id: theListModel
                                }
                                listItemComponents: ListItemComponent {
                                    StandardListItem {
                                        id: itemRoot
                                        title: ListItemData
                                    }
    
                                }
                                onTriggered: {
                                    var si = dataModel.data(indexPath);
                                    triggeredItem.text = "LIST ITEM CONTENT: " + si;  //set content when user taps on item
                                    triggeredIndex.text = "LIST ITEM INDEX INDEX: " + indexPath;  // set index when user taps
                                }
    
                                onSelectionChanged: {
                                    //console.log(selected);
                                }
    
                                onCreationCompleted: {
    
                                    //add some data to the listview
                                    theListModel.append("First List Item");
                                    theListModel.append("Second List Item");
                                    theListModel.append("Third List Item");
                                    theListModel.append("Fourth List Item");
                                }
                            }
    
                        }
                        Container{
                            layout: StackLayout {
                                orientation: LayoutOrientation.LeftToRight
                            }
                        Button{
                            text: "Select 1st"
                            onClicked: {
                                theList.clearSelection();
                                theList.select(0);
    
                            }
                        }
                        Button{
                            text: "Select 2nd"
                            onClicked: {
                                theList.clearSelection();
                                theList.select(1);
    
                            }
                        }
    
                        Button{
                            text: "Select 3rd item"
                            onClicked: {
    
                                //expected behaviour is to show data from Third List Item
    
                                // triggeredIndex.text = INDEX 3
                                // triggeredText.text = (DATA FROM THIRD LIST ITEM)
    
                                // THIS IS NOT WORKING ....
                                theList.clearSelection();
                                theList.select(2);
                                console.log(theList.dataModel(3));
                                triggeredItem.text = theListModel.dataModel(3);
    
                            }
                        }
                    }
                   }
                }
            }//tab
    }
    

    Thank you and have a happy and healthy 2015!

    Your help will be greatly appreciated.

    I ran and got this:

    asset:///main.qml:161: TypeError: Result of expression 'theList.dataModel' [bb::cascades::ArrayDataModel(0x1091a838)] is not a function.
    

    But it works

    theListModel.data([3])
    

    But this isn't the solution, you have a more serious problem. You select a value, you trigger. If you add this in onTriggered you select it (and you can see that it changes color when it is selected).

    theList.select(indexPath);
    

    If you want to use option to deselect

    theList.select(indexPath, !theList.isSelected(indexPath));
    

    And if you want to have that one chose this

    theList.clearSelection();
    theList.select(indexPath);
    

    Inside the button 'Select the 3rd point' allows to select programmatically

    theList.select([2]);
    

    It works but I'm not sure what you're trying to do

  • Retrieving values from XML in Oracle 9i - part II

    Hello

    regarding my previous post retrieving values of XML in Oracle 9i , I now have a different requirement.

    Assuming that the XML is as follows:

    <? XML version = "1.0" encoding = "UTF-8"? >

    " < GenericRequest xmlns =" http://webservices.mysite.com/test "xmlns:ns =" " http://webservices.mysite.com/test/NS "xmlns:ns1 =" " http://webservices.mysite.com/test/ns1 "xmlns:ns2 =" " http://webservices.mysite.com/test/ns2 ">

    < ns1:order >

    < ns1:orderItems >

    < ns1:orderItem >

    create < ns1:operation > < / ns1:operation >

    < ns1:brickId > TST002 < / ns1:brickId >

    < ns1:brickAttributes >

    < ns1:attribute >

    < ns2:name > COUNTRY < / ns2:name >

    < ns2: value > U.S. < / ns2: value >

    < / ns1:attribute >

    < ns1:attribute >

    < ns2:name > CUST_ID < / ns2:name >

    < ns2: value > 12345 < / ns2: value >

    < / ns1:attribute >

    < ns1:attribute >

    < ns2:name > CITY < / ns2:name >

    < ns2: value > New York < / ns2: value >

    < / ns1:attribute >

    < / ns1:brickAttributes >

    < / ns1:orderItem >

    < ns1:orderItem >

    Update < ns1:operation > < / ns1:operation >

    < ns1:brickId > TST001 < / ns1:brickId >

    < ns1:brickAttributes >

    < ns1:attribute >

    < ns2:name > COUNTRY < / ns2:name >

    < ns2: value > U.S. < / ns2: value >

    < / ns1:attribute >

    < ns1:attribute >

    < ns2:name > CUST_ID < / ns2:name >

    < ns2: value > 22222 < / ns2: value >

    < / ns1:attribute >

    < ns1:attribute >

    < ns2:name > CITY < / ns2:name >

    < ns2: value > Los Angeles < / ns2: value >

    < / ns1:attribute >

    < / ns1:brickAttributes >

    < / ns1:orderItem >

    < / ns1:orderItems >

    < / ns1:order >

    < / GenericRequest >

    As you can now see the XML contains several elements of the order. For each agenda item, I have a single operation and a brick_id. Then, for each item on the agenda, I have a list of brickAttributes (name and value).

    How can I get something like that?

    OPERATION BRICK_ID NAME VALUE

    --------- -------- ------- -----------

    create TST002 COUNTRY WE

    create TST002 CUST_ID 12345

    create TST002 New York CITY

    update of TST001 COUNTRY United States

    Update TST001 CUST_ID 22222

    Update TST001 CITY Los Angeles

    Version of database is 9.2.0.8

    SELECT * FROM version of v$.

    BANNER

    ----------------------------------------------------------------

    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64 bit Production

    PL/SQL Release 9.2.0.8.0 - Production

    CORE Production 9.2.0.8.0

    AMT for HP - UX: 9.2.0.8.0 - Production Version

    NLSRTL Version 9.2.0.8.0 - Production

    Kind regards.

    Alberto

    Response of Odie, result is that extend

    with sample_data as (
    select xmltype(
    '
    
              
                
                  
                    create
                    TST002
                    
                      
                        COUNTRY
                        US
                      
                      
                        CUST_ID
                        12345
                      
                      
                        CITY
                        New York
                      
                    
                  
                  
                    update
                    TST001
                    
                      
                        COUNTRY
                        US
                      
                      
                        CUST_ID
                        22222
                      
                      
                        CITY
                        Los Angeles
                      
                    
                  
                
              
    ') xmldoc
    from dual
    )
    select extractvalue(value(x), 'ns1:orderItem/ns1:operation', 'xmlns:ns1="http://webservices.mysite.com/test/ns1"') as operation
         , extractvalue(value(x), 'ns1:orderItem/ns1:brickId', 'xmlns:ns1="http://webservices.mysite.com/test/ns1"') as brick_id
         , extractvalue(value(y), 'ns1:attribute/ns2:name', 'xmlns:ns1="http://webservices.mysite.com/test/ns1", xmlns:ns2="http://webservices.mysite.com/test/ns2"') as name
         , extractvalue(value(y), 'ns1:attribute/ns2:value', 'xmlns:ns1="http://webservices.mysite.com/test/ns1", xmlns:ns2="http://webservices.mysite.com/test/ns2"') as value
    from sample_data t
       , table(
           xmlsequence(
             extract(
               t.xmldoc
             , '/GenericRequest/ns1:order/ns1:orderItems/ns1:orderItem'
             , 'xmlns="http://webservices.mysite.com/test", xmlns:ns1="http://webservices.mysite.com/test/ns1"'
             )
           )
         ) x
       , table(
           xmlsequence(
             extract(
               value(x)
             , 'ns1:orderItem/ns1:brickAttributes/ns1:attribute'
             , 'xmlns:ns1="http://webservices.mysite.com/test/ns1"'
             )
           )
         ) y
    ;
    

    As shown, it simply retrieves to a higher level object that repeats once in table x and happening at the table there, which returns the expandable nodes.  The join is managed by value (x) in the second simple table.  It assumes that there is always 1 or several nodes of ns1:attribute in each ns1:orderItem.

  • execution of a service to read values from the DB

    Hello!

    I have a pretty simple question, but I seem to fail to be able to understand what :

    I have a custom table EUM_DIV.  I have three columns: EUM_1, EUM_2, EUM_3.

    I also created a view based on that table, so that when I call him that from this point of view, it returns all the necessary information

    < $HttpCgiPath$ >? IdcService = GET_SCHEMA_VIEW_FRAGMENT & schViewName = EUM_Division_Abbr_View & IsSoap = 1';

    My job is that I need to extract the value of the column based on the value of EUM_1 EUM_3.  I need then save the extracted value of EUM_3 in a variable for future purposes.  (And this is where I'm stuck) How can I call this service from a resource of IntraDoc?  Must this whole sequence happen when the user select a value in a list of Meta-field option.  I'm sure that the answer must be very streightforward!

    Thank you very much for your help!

    Anya

    executeService uses variables/result sets that have already been defined on your page before calling executeService. This means that you can define variables beforehand and those become the service settings.

    Jonathan

    http://jonathanhult.com

  • extract data from XMLType using vbscript on OleDB?

    Hello.

    We have a problem where the XMLType column data to get in 11.2.0.1 on Windows x 64 worked very well, but we have moved to 11.2.0.3 Patch 21 and the column type changed to binary storage default, and we started to do read errors when the data was greater than 32 k (or so it seems).

    I opened a SR, and Oracle support sent me a VB script to test playback of the table on OleDB.  However, their script doesn't seem to work as announced, so after a lot of gooling, came to us with the following to read a column of xmltype - not the same table, just to test that the vbscript works:

    REM need to re-register the dll OLEDB as there is a problem with the oracle client and the dll registration

    REM start following an administrator command prompt

    REM regsvr32.exe c:\Users\finite9\oracle\product\11.2.0\client_2\bin\oraoledb11.dll

    the con value = createobject ("adodb.connection")

    con. Open "provider = oraoledb.oracle; user id = finite9; password = password1; data source = TSTDB ".

    Set rs = createobject ("adodb.recordset")

    RS. Open 'select SW_REPLY changedate', con

    While not on the place. EXPRESSIONS OF FOLKLORE

    MsgBox rs. Fields ("ChangeDate"). Value

    RS. MoveNext

    Wend

    RS. Close

    Set rs = nothing

    con. Close

    the value con = nothing

    This works perfectly and displays 12 rows in this column in a vbscript dialog box, but I am not able to do to extract the XMLType column clob data.  I try with for example. RS. Open 'select REPLYDATA.getclobval () from SW_REPLY', stupid but just get errors.

    Is it possible to extract data from XMLType on OleDB with vbscript?  It cannot be OleDB itself which poses problem, because it has worked in our application and 11.2.0.1 although with < 32 k of data.  But it would be nice to have a working test case while we were able to test out our app.  If it is with vbscript or c# is irrelevant.

    ignore the message, it is possible.  Support of Oracle gave me this:

    the con value = createobject ("adodb.connection")

    con. Open "provider = oraoledb.oracle; user id = finite9; password = password1; data source = DEVTST ".

    Set rs = createobject ("adodb.recordset")

    RS. Open "select t.REPLYDATA.getclobval () as xmltestdata OF SW_REPLY t", con

    While not on the place. EXPRESSIONS OF FOLKLORE

    MsgBox rs. Fields ("xmltestdata"). Value

    RS. MoveNext

    Wend

    RS. Close

    Set rs = nothing

    con. Close

    the value con = nothing

    but there is a problem when xmldata exceeds a certain size.  small starters work well if.

  • Extract data from error HFM, float to Numeric?

    Hi all

    We extract data from HFM,.

    HFM-> SQL-> FILE staging

    Our mapping, flow, everything seems fine. When we run this out on the third market errors while extracting data with the following:

    com.hyperion.odi.common.ODIHAppException: arithmetic overflow error conversion float type numeric data.


    We researched and found to increase the logical length should solve this problem.

    Our Source has a length of 16...

    We have increased the logical length of target from 16 to 30, and he rest-error. We even tried 50, 100 for the logical length.

    We are at Version 10.1.3.6.0.

    Any suggestions on how to fix this?

    Thank you!

    Published by: user10678366 on May 22, 2013 13:28

    Have you tried changing the scale of all the columns float, right?

    It can be a ridiculously large number coming from HFM. So, go to store for your data source in ODI and manually change the data type of column type VARCHAR of size like 100 or more. That would force the ODI to create the staging table with columns of characters for the field. Data will be retrieved anyway. Given that you write it in file, type of character should not matter. In addition, if writing to the file fails for any reason, you can do a max on the staging table and find the value problem in the table (while in HFM, you may not be able to do).

  • Extract data from an xml file takes almost an hour to 2.5 M data.

    Hello

    Any help would be much appreciated. Extract data from an xml file takes almost an hour to 2.5 M. data is there a solution to this.

    WITH t AS
    (SELECT XMLTYPE (response) pass FROM dual
    )
    SELECT
    b.entity_id,
    c.INSTANCE_ID,
    d.attribute_id,
    d.DATA_TYPE,
    d.ATTRIBUTE_VALUE,
    d.outcome_style
    T,.
    XMLTABLE (XMLNamespaces ("http://schemas.xmlsoap.org/soap/envelope/" AS "SOAP-ENV"
    'http://oracle.com/determinations/server/10.3/rulebase/assess/types' AS 'type')
    , ' SOAP - ENV:Envelope / SOAP - ENV:Body / typ: assess-response/typ: global instance / typ:entity'
    PASSAGE t.col
    Path of COLUMNS entity_id VARCHAR2 (256) "@id".
    path XMLTYPE res_tmp2 'typ:instance') b
    xmltable (XMLNamespaces ("http://schemas.xmlsoap.org/soap/envelope/" AS "SOAP-ENV"
    'http://oracle.com/determinations/server/10.3/rulebase/assess/types' AS 'type')
    , "typ:instance".
    PASSAGE b.res_tmp2
    Path of COLUMNS instance_id VARCHAR2 (256) "@id".
    path XMLTYPE res_tmp3 'typ:attribute') c
    xmltable (XMLNamespaces ("http://schemas.xmlsoap.org/soap/envelope/" AS "SOAP-ENV"
    'http://oracle.com/determinations/server/10.3/rulebase/assess/types' AS 'type')
    , "typ:attribute".
    PASSAGE c.res_tmp3
    Path of VARCHAR2 (256) COLUMNS attribute_id '@id '.
    , data_type VARCHAR2 (256) path '@type '.
    , attribute_value VARCHAR2 (256) path '.'
    path VARCHAR2 (256) outcome_style '@inferred') d;

    Thank you
    Mhand

    OK, in this case the best option is to store the answer in a binary table of XMLType (may be a temporary table if you want to) and run the query from there:

    CREATE TABLE tmp_xml OF XMLType
    XMLType STORE AS SECUREFILE BINARY XML -- default storage in your version
    ;
    
    INSERT INTO tmp_xml VALUES(XMLType(response));
    
    SELECT b.entity_id,
           c.instance_id,
           d.attribute_id,
           d.data_type,
           d.attribute_value,
           d.outcome_style
    FROM tmp_xml t,
         XMLTABLE(
           XMLNamespaces('http://schemas.xmlsoap.org/soap/envelope/' AS "SOAP-ENV"
                        , 'http://oracle.com/determinations/server/10.3/rulebase/assess/types' AS "typ")
         , 'SOAP-ENV:Envelope/SOAP-ENV:Body/typ:assess-response/typ:global-instance/typ:entity'
           PASSING t.object_value
           COLUMNS
    ...
    

Maybe you are looking for