Import CSV file cell text in Memo field in FDM

Hello world

I try to import data in MDF Memo fields. I have a source CSV file that is imported via the batch loader. I suspect that I have to set a script but I don't know which. Can someone give nme (in a better sense of practice) some advice regarding:

-What should be the layout of the source CSV file? (this is an extract a HFM prob app so not very flexible)

-What script will need to be adjusted to import data in Memo fields?

Some information:

The source application is HFM which produces a CSV file for import of FDM. The data source contains the text amount and the cell for the amounts. FDM is used as an ETL to load data to another application of HFM. I understand theat LOADB Action script exports data of Memo fields to the text in the cell, provided that integration is enabled. So the second part of this load of data should work.

Hello

There are different options to achieve this.

You can import your column with information about the cell to a dimension of the attribute. Then before the validation of data in the main table (script of the event ImportAction / sous-evenements PostWorkToMainProcess), you can create positions for memory based on this attribute and data loading. You can use SQL to insert the memo point tables or use fMemoAddItem (class ArchiveMgr)

You must enable "Text the loading cell" of the adapter in the order that these memorandum items are loaded in the form of texts of cell in HFM.

Hope that specifies

Tags: Business Intelligence

Similar Questions

  • Not possible to export a list of virtual machines that are created in the past 7, 30, 120 and 180 days since an imported csv file containing the date of creation of virtual machine

    Not possible to export a list of virtual machines that are created in the past 7, 30, 120 and 180 days since an imported csv file containing the date of creation of virtual machine. My questions is the correct statement to the variable: $VmCreated7DaysAgo: $_CreatedOn "-lt" $CDate7.

    # #SCRIPT_START

    $file = "C:\Users\Admin\Documents\WindowsPowerShell\08-18-2014\VM-Repo.csv".

    $Import = import-csv $file

    $VMCreatedLast7RDayRepoFile = "C:\Users\Admin\Documents\WindowsPowerShell\08-18-2014\Last7Days.csv".

    $start7 = (get-Date). AddMonths(-1)

    $CDate7 = $start7. ToString('MM/dd/yyyy')

    $VmCreated7DaysAgo = $Import | Select-object - property name, Powerstate, vCenter, VMHost, Cluster, file, Application, CreatedBy, CreatedOn, NumCpu, MemoryGB | Where-Object {$_.} CreatedOn - lt $CDate7} | Sort-Object CreatedOn

    $TotalVmCreated7DaysAgo = $VmCreated7DaysAgo.count

    $VmCreated7DaysAgo | Export-Csv-path $VMCreatedLast7RDayRepoFile - NoTypeInformation - UseCulture

    Write-Host "$TotalVmCreated7DaysAgo VMs created in 7 days" - BackgroundColor Magenta

    Invoke-Item $VMCreatedLast7RDayRepoFile

    # #SCRIPT_END

    You can use the New-Timespan cmdlet in the Where clause, it returns the time difference between 2 DateTime objects.

    An example of this cmdley

    New-TimeSpan-start (Get-Date). AddDays(-7)-end (Get-Date). Select days - ExpandProperty

    In your case, you could do

    Where {(New Timespan-démarrer ([DateTime] $_.))} CreatedOn) - end $start7). {7 days - gt}

    But beware of negative numbers.

  • Open a CSV file with text fields that begin with '='. How can I force interpreted as formulas?

    I have a simple CSV file, where each line is in the form:

    = B1 + C1, 2, 3

    I want to interpret "= B1 + C1" as a formula.

    I have 1000 lines like this.

    If I double click on the form and add a space at the end, it interprets it as a formula all of a sudden!

    I don't want to select change the first cell of each row in the end.

    How can I get the numbers to convert formulas?

    (using the numbers 3.6.1)

    Hi ras,

    = B1 + C1, 2, 3 is not a valid formula.

    The formula is intended to add values in column B and column C?

    Type or copy this into the first row (A2 in my case, because I included 1 row as a header row)

    = B2 + C2

    Fill down in column A.

    A screenshot of your table in numbers will help clarify what the CSV file is supposed to do.

    Kind regards

    Ian.

  • Need help importing CSV file with commas in the rest of the data

    I have a linux script that gets the CSV files from a remote server and import the data into a table using SQLLoader.

    The problem I have is that the data in the CSV files sometimes contains commas in the text field that is interfering with the import and I have no control over what is in the file.

    my table:

    Create the table my_tab
    * (TIME_STAMP date, *)
    REQUEST_IP varchar2 (30),
    User_id varchar2 (30),
    FACILITY_ID VARCHAR2 (255),
    Number SUBFACILITY_ID,
    DETAIL VARCHAR2 (255)
    *);*

    example of a CSV file:

    * 27032011 story 232708,162.108.20.61,user123,cstmr_view_hlr_history,0,Viewed with 10 results per page for 1234567890 *.
    * 232737,162.108.20.61,user123,cstmr_view_customer,0,Facility 27032011 [display] selected *.
    * 232744,162.108.20.76,user123,cstmr_add_gprs,0,Facility 27032011 [Add x] selected *.
    * 232759,162.108.20.94,user456,cstmr_hlr_request,0,Facility 27032011 [x orders] selected *.
    * 27032011 added 232806,162.108.20.94,user123,cstmr_hlr_request,2,Customer note: note [x], MSISDN [1234567890] *.
    * 232806,162.108.22.96,user789,cstmr_hlr_request,0 27032011, queue update: Action [46], IMSI [1234567890] old [, MSISDN IMSI [1234567890] *.
    * 232815,162.108.20.67,user789,cstmr_view_customer,0,Facility 27032011 [display] selected *.
    * 27032011 232822,162.108.20.67,user123,cstmr_view_customer,5,Screen ' display customer details ': MSISDN [1234567890] *.
    * 27032011 232702,162.108.20.57,user456,cstmr_hlr_request,0,Queue update: Action [45], IMSI [1234567890] old [, MSISDN IMSI [12345678901], AFN [], [PDPREC] *.
    * 27032011 connection 232825,162.169.22.108,user456,adm_login,1,Successful: user [user_name] *.
    * 232829,162.169.22.108,user456,cstmr_view_customer,0,Facility 27032011 [display] selected *.

    How can I get around the commas in the text?

    Published by: cinnamon on April 4, 2011 08:07

    There is a way to do it, but it depends on a few assumptions, and (b) you have to jump through hoops to do it.

    First of all, this only works if there is no comma request_id, user_id or facility_id. (if there is, then you're stuck, because there is no way to determine which commas are part of data and those that are separators.)

    Second, he must know if there are any particular character - say | -who never appears in the detail.

    If you can do both of these assumptions, then what you have to do is:
    (1) create an array that consists of a single VARCHAR2 column large enough to hold longer line of your input data.
    (2) to import your data into this table.
    (3) replace the first five commas in each row of the table with. (or whatever your "unused" character).
    For example:

    UPDATE temp_data_table
    SET row_text = REPLACE(SUBSTR(row_text, 1, INSTR(row_text, ',', 1, 5)), ',', '|') || SUBSTR(row_text,  INSTR(row_text, ',', 1, 5) + 1);
    COMMIT;
    

    (4) write a SQL INSERT command to build your target table according to the values separated by the | characters.

    -Don

  • Import CSV file in contacts

    I followed the procedure to import contacts in hotmail to the letter, but now I get the same error message "there was a problem importing your contacts, try to re-import: I tried again and again and again, two questions for you: 1, what is the problem 2, how to fix? It's frustrating me so, your phone technical support was no help either.

    This a question that should really be addressed in the Windows Live forum since the problem occurs with your HotMail account.

    A thread that may be of particular interest in the forum WindowsLiveHelp refers to how the field names are defined in the CSV file (apparently of various responses CSV field names must match the fields in Hotmail)

    How to import contacts from one. CSV file?
    http://www.windowslivehelp.com/thread.aspx?ThreadId=f5a002fc-02FC-489F-958b-cab40ebfb721&page=1

  • UTL_FILE import csv file

    Hello

    I am writing a procdeure use the utl_file.get_line to read csv files and then proceed to a treatment before inserting data into a table.

    The csv file has four columns. The third column data have a newline when reading the file I get an error value.

    The procedure cannot detect the length of the 3rd field, it cannot detect the 3rd decimal point because this column has a line break.

    To differentiate the length of the column between each ',' part of the code I use is below.

    BEGIN

    Starts: = UTL_FILE. FOPEN ("D:\TEST','CT. CSV', 'R', 32765);

    loop

    UTL_FILE. GET_LINE (starts, input_String);

    delChar varchar2 (1): = ', ';

    -first field
    v_Pos: = instr (input_String, delChar, 1, 1);
    v_lenString: = v_Pos - 1;
    v_compname: = substr(input_String,1,v_lenString);

    v_startPos: = v_Pos + 1;

    -This will get the second field
    v_Pos: = instr (input_String, delChar, 1, 2);
    v_lenString: = v_Pos - v_startPos;
    v_comptype: = substr (input_String, v_startPos, v_lenString);

    v_startPos: = v_Pos + 1;

    -3rd field
    v_Pos: = instr (input_String, delChar, 1, 3);

    v_lenString: = v_Pos - v_startPos;
    v_notes: = substr (input_String, v_startPos, v_lenString);


    v_startPos: = v_Pos + 1;
    -the last land - there is no delimiter for last field
    v_Pos: = length (input_String) + 1;
    v_lenString: = v_Pos - v_startPos;
    v_comptypemodel: = substr (input_String, v_StartPos, v_lenString);

    My csv file looks like this when it is open with notepad ++,.

    CA COOLER VSM 89 E, MSM 89 E, 'EL. AC-MOTOR UNITS.

    ABB WADA 500L2L BSMH 11000V/1720KW/105 A/3584 RPM 60 HZ S1
    COOLING WATER FLOW 12.3 m3/h
    AMBIENT TEMP. 45 DEG", 123421
    ABB WADA 500L2L BSMH 11000, V/1720KW/105 A/3584 RPM 60 HZ, EL S1. AC-MOTOR UNITS. ABB WADA, EL. AC-MOTOR UNITS.

    The value of v_pos = 0 and v_lenSting =-30 for the 3rd field.

    Hope someone can point me in the right direction on how to solve this problem.

    Thanks in advance.

    OK, my apologies, I don't see the real problem you're trying to solve in the first post (it helps us if you format code / data using a font courier etc. in the Advanced Editor)

    Here is the response from Tom Kyte...

    https://asktom.Oracle.com/pls/Apex/f?p=100:11:0:P11_QUESTION_ID:2818047000346046084

    While there is an option in 11 GR 2 from an external preprocessor allows to process the file (which can be useful for files of decompression etc - see pretreatment: preprocess external Tables) it will probably not help in your case, because you will not easily be able to determine what 'new line' characters to substitute something else for you to make the difference when loading the data.

    Creating the CSV data can be modified to replace the line break characters in text by something else?  or use a different delimiter to the end of line?  That would be the ideal solution.

  • Import CSV file and the conversion of an array

    Hi all

    I'm working on a site that is to import a CSV (comma separated values) published via actionscript 3.0 URLloader().  Now I just try to get actionscript to successfully enter the data imported from the CSV file as a table, then the CSV file has 1 single cell that contains "athleticMaroon, charcoal, colonialBlue, kellyGreen, fullColor".

    Here is the code I use:

    create table

    var shirtLiveIntense_btn_Colors:Array = new Array();

    run the import from CSV data

    URLLoaderCSV();

    shirtLiveIntense_btn.addEventListener (MouseEvent.CLICK, selectingLogo);

    function selectingLogo(e:MouseEvent):void {}

    trace ("current logo');

    var colorButtons:Array = this [e.currentTarget.name + "_Colors"];

    for (var i: uint = 0; i < colorButtons.length; i ++) {}

    .Ivar colorButtons [i] = i;

    colorButtons [i] .addEventListener (MouseEvent.CLICK, shirtColorOption);

    }

    }

    CSV data import function

    function URLLoaderCSV() {}

    var loader: URLLoader = new URLLoader();

    configureListeners (loader);

    var request: URLRequest = new URLRequest ("https://docs.google.com/spreadsheet/pub?hl=en_US & hl = en_US & key = 0AlJnOKOffTSxdFk0RVlEUTVHeF9 DMHZfZ0JzSkJjZFE & single = true & gid = 1 & output = csv");

    try {}

    Loader.Load (request);

    } catch (error: Error) {}

    trace ("unable to load requested document.");

    }

    }

    function configureListeners(dispatcher:IEventDispatcher):void {}

    dispatcher.addEventListener (Event.COMPLETE, completeHandler);

    dispatcher.addEventListener (Event.OPEN, openHandler);

    dispatcher.addEventListener (ProgressEvent.PROGRESS, progressHandler);

    dispatcher.addEventListener (SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

    dispatcher.addEventListener (HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);

    dispatcher.addEventListener (IOErrorEvent.IO_ERROR, ioErrorHandler);

    }

    function completeHandler(event:Event):void {}

    var loader: URLLoader = URLLoader (event.target);

    trace ("completeHandler:" + loader.data);

    shirtLiveIntense_btn_Colors.push (loader.data);

    }

    function openHandler(event:Event):void {}

    trace ("openHandler:" + event);

    }

    function progressHandler(event:ProgressEvent):void {}

    trace ("progressHandler loaded:" + event.bytesLoaded + "total:" + event.bytesTotal);

    }

    function securityErrorHandler(event:SecurityErrorEvent):void {}

    trace ("securityErrorHandler:" + event);

    }

    function httpStatusHandler(event:HTTPStatusEvent):void {}

    trace ("httpStatusHandler:" + event);

    }

    function ioErrorHandler(event:IOErrorEvent):void {}

    trace ("ioErrorHandler:" + event);

    }

    Here is the result:

    openHandler: [event type = "open" bubbles = false cancelable = false eventPhase = 2]

    progressHandler loaded: 57 total: 0

    httpStatusHandler: [HTTPStatusEvent type = "httpStatus" bubbles = false cancelable = false eventPhase = 2 status = 200]

    completeHandler: athleticMaroon, colonialBlue, kellyGreen, charcoal, fullColor

    chosen logo

    ReferenceError: Error #1056: cannot create ivar String property.

    at main_fla::MainTimeline/selectingLogo()

    Review of results of release, I see it's clearly to load the data from the CSV file correctly, but what I think it does is important data as a single string, aka 'athleticMaroon, charcoal, colonialBlue, kellyGreen, fullColor' and push for shirtLiveIntense_btn_Colors:Array = new Array().  But, as I see the error selectingLogo(e:MouseEvent) service cannot treat the table because it contains a string of.

    If I switch to shirtLiveIntense_btn_Colors.push (loader.data); with shirtLiveIntense_btn_Colors.push (charcoal, colonialBlue, kellyGreen, athleticMaroon, fullColor); everything works like a charm, but I need the table to assign dynamic in the CSV file data

    Can anyone help to get imported CSV data to strings pushed a table accessible?

    Thank you!


    It is an error caused by:

    var colorButtons:Array = this [e.currentTarget.name + "_Colors"];

    for (var i: uint = 0; i

    .Ivar colorButtons [i] = i;

    colorButtons [i] .addEventListener (MouseEvent.CLICK, shirtColorOption);

    }

    your table is an array of strings.  If you try to force these strings into objects on the timeline that contains your code, use array notation:

    var colorButtons:Array = this [e.currentTarget.name + "_Colors"];

    for (var i: uint = 0; i

    This .ivar [colorButtons [i]] = i;

    This [colorButtons [i]] .addEventListener (MouseEvent.CLICK, shirtColorOption);

    }

  • Error importing CSV files with "hidden" characters using the external Table

    Hi people

    Bit of a strange here.

    Well, we are accustomed to the use of the external Table method to load data from CSV files in the database, but a recent event presented us a problem.

    We have received some CSV files that "look like" regular CSV files, but Oracle will not load them.

    When we looked at the CSV using VIM on a UNIX machine, we saw the following characters 'hidden' between each regular character in the file.
    ^@
    If a string that looks like this when opened in Excel/Wordpad etc.
    "TEST","TEXT"
    Looks like this when exmained with VIM
    ^@"^@T^@E^@S^@T^@"^@,^@"^@T^@E^@X^@T^@"
    Has anyone encountered this before?

    Thank you very much

    Simon Gadd
    Oracle 11g 11.2.0.1.0

    Hi Simon,.

    ^ @ represents the ZERO character (0x00).
    So, most likely, you have a file encoded in Unicode.

    You need to specify the character set in the record specification (and if necessary the byte order mark), for example:

    CREATE TABLE ext_table
    (
      col1 VARCHAR2(10),
      col2 VARCHAR2(10)
    )
    ORGANIZATION EXTERNAL
    (
      TYPE ORACLE_LOADER
      DEFAULT DIRECTORY dump_dir
      ACCESS PARAMETERS
      (
       RECORDS DELIMITED BY '
    ' CHARACTERSET 'UTF16'
      FIELDS TERMINATED BY ','
      )
      LOCATION ('dump.csv')
    )
    REJECT LIMIT UNLIMITED;
    

    http://download.Oracle.com/docs/CD/E11882_01/server.112/e16536/et_params.htm#i1009499

  • Numbers does not correctly Import CSV files

    Using numbers v 3.6.2 under OS X El Capitan v 10.11.6 CSV files are not imported correctly. A file with 8 columns appears in number with the first two columns containing data of 7 columns and the second containing the remaining column data. This does not happen with numbers v 2.1 I have on another Mac OS x 10.6.8

    Well, I know one answer would be to always download on the Mac of the latter, but I'm trying to stop using it, once all the data I need is available on the other, later, Mac.

    If Apple could provide a program that does work properly, why on Earth can't a version later do the same thing, it is a fundamental requirement and I don't want to play anywhere to try to sort out just that it works as it should.

    might be useful to provide an example of the file, or, perhaps to share data... Nobody here can change the numbers, we are all of the users like you.  The only options that we are thus solutions using what is already there, or work around issues by other means.

    You can still provide feedback to post using the menu item "numbers > provide Feedback numbers.

  • Documaker Studio, how to import a file that would update/add fields to my dictionary to extract (SYMBOL. XDD)?

    I want to be able to import a file that contains all my tags/fields, new and existing.  11.3 I can import a file as follows:

    ;; POL. AGENT. AD1; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD1;

    ;; POL. AGENT. AD1 #002; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD1;

    ;; POL. AGENT. AD2; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD2;

    ;; POL. AGENT. AD2 #002; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD2;

    ;; POL. AGENT. AD3; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD3;

    ;; POL. AGENT. AD3 #002; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD3;

    ;; POL. AGENT. AD4; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD4;

    ;; POL. AGENT. AD4 #002; 79; 34; 0; 0 ; ; move_it; 45, POL. AGENT. AD4;

    ;; POL. CONTINUED. MSG; 79; 22; 0; 0 ; ; move_it;@GETRECSUSED,BOPDEC0105,DECPAGE/45,pol. CONTINUED. MSG;

    If the field/tag existed it would replace it and if it did not exist it would add.  Is it possible to do in paragraph 12.2?  If yes how can I do this?

    Thank you!

    Import workspace files does not apply in this scenario of particular importance.

    To import specific files, such as files of DDT in your extracted dictionary, you would first open (or create if it doesn't exist) your dictionary to extract data.

    This should display the open dialog box file that will allow you to check your XDD out of the library.

    Then, starting in the extract of data dictionary, select file, import.

    You should see the open file dialogue box

    Click on extract data

    then click on the Browse button

    which will display this dialog box

    Thank you

  • CSV file loaded in ODI with fields of dd/mm/yyyy. But every month are crushed with 01 month (January) only

    Hi all

    I loaded a CSV source file for the target Oracle table. Mapping was properly executed, but the month of dd/mm/yyyy is only show 01, even if I have other months in my folder.

    Any ideas on that?

    Thank you!

    Hope this helps you

  • Loading cells text in HFM using FDQM

    Version FDM - 9.3.1
    Target - HFM 9.3.1
    Environment - Windows Server 2003 32-bit.

    Integration settings - Enable cell loading set to text.



    We try load cell textual information in HFM using FDQM. We checked LoadB action that allows to load cell text information. But not able to understand where it's source for the text in the cell. He reads from the Recordset, but cannot find "MemoText" field in the FDM Tables, but all other fields are available.
    As shown below, in LoadB

    "Open the recordset containing the memorandum items so that we can load in the form of text in the cell
    Set rsCellText = API. SQLMgr.fTrialBalanceConvertedMemos (CStr (strLoc), CStr (strCat), CStr (strPer (0)), True, 1).

    It reads the information of TxtCase of

    "Memo for cell text.
    strCleanMemo = rsCellText.Fields("MemoText").value
    strCleanMemo = Replace (strCleanMemo, "[", + "\n]" & "[" "]")
    strCleanMemo = Replace (strCleanMemo,"]","]" & vbTab ")
    strCleanMemo = Replace (strCleanMemo, ' * ', vbcrlf & vbcrlf)
    If Len (strCleanMemo) > 1950 then
    strCleanMemo = Left (strCleanMemo, 1950)
    End If

    I would like to know which table it reads the MemoText field, as it does not exist in tDataSeg1-tDataSeg50 (view - vData). Not sure where the information in the memo are provided and gets load in HFM. We see xxxx - B.dat file from Outbox to folder view - "TxtCase Loaded by direct intervention of the API."
    But I do not see any text of cell in HFM in the specific intersection.

    Can you please let us know how the cell text should provide information in the source file. We strive to import simple text file containing the text of the cell for each row. Any help would be much appreciated.

    Thanks in advance.

    No problem. If you have a chance, please mark the post as helpful or appropriate. Thank you.

  • . Reading CSV file

    Hello

    I know this question has been asked several times, but I did write read the. CSV file in labview. Although I read only first coloum and also it does not read the exact value. It is rounded to almost integer. I checked all the settings in the representation of the data, but have no luck. Someone can help me.

    Your 'CSV' file contains a semicolon as field separator.

    Your VI uses the separator by default when reading the file. The default value is a character from . You also index the column even twice.

    See attachment to see how to load the file you provided...

  • How can I search for hexadecimal number of 32-bit in .csv file

    Hello

    How can I search for 32-bit in .csv file usinf labview 8.6.1 hexadecimal number

    Mathan,

    This post was not really a solution.  He just ordered Sandy to post in the appropriate forum, which we now know is LabVIEW 8.6.1 LV.

    Sandy,

    You want to read the text file, then use the search/Split String function to find the matching characters that make up your hexagonal pattern.

    What you ask is a little strange wordly since .csv files are text files, and you ask a "32-bit hexadecimal number.  Can you give an example of what you are looking for?  My response assumes you have a 8 string that consists of the characters 0-9, A - F for catch the 4 bytes.  Maybe you are dealing with just 4 bytes that present themselves as ASCII characters in a text file.  In which case you wouldn't have one. CSV file.

    If the response of research/Split String is not useful to you, you will need to provide details about what you are looking for and also an example of your. CSV file.

  • VM list name and the cluster that it flows in a CSV file

    Hello

    I want to have a created CSV file that will conaitn 2 fields: vm_name, vm_custer

    Which means, I want to list the name of the virtual machine and the cluster is running in a CSV file.

    Here is the code I wrote:

    #! / usr/bin/perl - w
    use strict;
    Use Data::Dumper;
    use VMware::VIRuntime;
    My % opts = (data center = > {})
    Type = > "s =",
    help = > 'enter the name of the data center. "
    required = > 1,
    });
    OPTS::add_options (%OPTS);
    OPTS::parse();
    OPTS::Validate();
    Util::connect;
    "open (my $FH, ' > ', 'final.csv') or die" cannot opne final.csv: $! » ;
    print $FH 'VM_Cluster, VM_Name, \n ";
    my $dc = Opts::get_option ("data center");
    My $dc_view = Vim::find_entity_view (view_type = > 'Data center',)
    filter = > {name = > $dc});
    My $clu_views = Vim::find_entity_views (view_type = > "ComputeResource")
    begin_entity = > $dc_view);
    my $cluster foreach (@$clu_views)
    {
    My $clu_name = $cluster-> name;
    my $hosts = $cluster-> host;
    foreach (@$hosts)
    {
    My $host_hash_ref = Vim::get_view (mo_ref = > $_);
    My $vm_view = $host_hash_ref-> virtual machine;
    foreach (@$vm_view)
    {
    My $vm_hash_ref = Vim::get_view (mo_ref = > $_);
    My $vm_name = $vm_hash_ref-> name;
    $FH print $clu_name. ", ".  $vm_name. », «. "\n" unless $clu_name = ~ m/0bld0 /; "
    }
    }
    }
    Close ($FH);
    Util::disconnect;

    Now, I get the CSV file created as I wanted to, but the question is, there are 3500 + VMs in vCenter and this script side took 50 minutes to complete. It is therefore a huge performance impact. Also, I don't like the concept of 3 layers netsted foreach loops.

    Therefore, there is an effective way to get this information?

    Thank you.

    Your welcome.  It could be made faster, but the complexity of the additional code is probably not worth if the runtime you have now is enough.  No doubt, you can add additional data to your report without too slow.

    You can also find the script works faster or slower depending on what is happening in your virtual center system.

    Thanks for the update on the success!

Maybe you are looking for