FDM Script Mapping

Hi Experts,

I'm thinking about the best way to handle some mappings of FDM. All of our current mappings are explicit individual mappings. However, there are some entities and accounts we would card differently now.

Example:

If any of these entities...
Entities
1001
1002
1003
1004
1005
Map this account to this account...
Accounts
1234 > 5678
4321 > 8765
1111 > 2222

We are looking for a little less than 500 possible combinations of entities and account (we have thousands of accounts and entities in total) and I want to find the way the most optimized to go about this. I know there are a lot of considerations based on the order in which dimensions/map types and impact on overall performance. I have considered using If/Then cross-dimensional scripts, but I am concerned about performance issues. Also, if it's the best route is it possible to mount several (10 +) If/Then condition in one script? Any insight/recommendations would be greatly appreciated. Thanks in advance!

See you soon!

You can get what you want to use the standard mappings if you concatanate code account and entity as the source for the account dimension value code in your import format for example Account_Entity. Then...

(1) for all your explicit existing maps simply modify them as cards by adding a * generic until the end, keeping the same target
(2) for all your exceptions where the entity determines target (the 500 you have identified) add explicit maps based on the value of source full concatanated.

This approach will be more efficient that cross the three-dimensional mapping and will involve much less effort to implement and maintain as you already most of the mappings in place and all changes can be quickly imnplemented to change existing mappings in an excel template or re-import in the mapping tables

Tags: Business Intelligence

Similar Questions

  • Call via the FDM script batch file

    Hi all

    Here is the FDM script written to call the command via the Script FDM in import file, test the operation of the script by creating a vbscript file (* .vbs) to call the batch file and worked like charm. Please see the excerpt from the sciprt

    SubMonth = "Mar".

    SubYear = "FY15.

    ARG = trim (SubYear) & "" & trim (SubMonth)

    Set objWshShell = CreateObject ("Wscript.Shell")

    strCmd = "E:\hyperionfiles\batch\CalcActNew.bat" & Arg

    Line 53 objWshShell.Run 'strCmd', 0, True

    The error returned is

    Error.JPG

    Thank you

    Hi, no double quotes are needed to join strCmd it's a variable

    objWshShell.Run strCmd, 0, True

  • FDM Script to import data

    Hello

    I am new to scripting of FDM. If the pointers will be appreciated. I need to import a TB with the following format in the exel file.

    Row1 * CostCenter number *.
    row2 * TB name *.
    row3 - other settings
    row4 - white
    row5 - data headers
    starts row6 - data - format below-

    row7 - account opening prom prom closing Desc

    -----

    I created a format compatible with the 4 fields - CostCentre, account, Desc, and closing ball. Now my question is-

    1. How can I create script that retrieves the number of row1 costcenter?

    Thanks in advance!

    Format will not work in an Excel, FDM requires a specific excel, also excel FDM models model do not use scripts to import, so everything first convert to a csv file.

    You will then use a temporary variable for this example RES. PvarTemp1 and create scripts to import 2

    Assuming that this cost center is the only value on a line in the file that you need to do is:

    Attach a script to import entry amounts in your import format and put in the following code (which implies cost center is always the first line of header and your script is called GetCostCentre)

    Otherwise Len (RES. PvarTemp1) > 0 Then
    RES. PvarTemp1 = DW. Utilities.fParseString(strRecord,4,1,",")
    End If

    GetCostCentre = strField

    Attach a script to import to the CostCentre entry in the format called import SetCostCentre, there will be a single line

    SetCostCentre = RES. PvarTemp1

    There is a very similar example in the FDM Scripting chapter administration guide that has a little more description.

    Published by: SH on December 7, 2012 11:17

  • Script mapping problem

    Hello experts,

    I am quite new to FDM and Iv'e tried to write a script of simple conditional mapping without success. for my dimension entity, in most cases, the source is ths same as target, although there are some cases where this doesn't apply and have to go to a NA_Entity. For example:

    SOURCE TARGET

    PE00_0001 PE00_0001

    PE00_0002 PE00_0002

    PE00_0003 PE00_0003

    AL00_0001 NA_Entity

    PE00_0004 PE00_0004

    CO_HWE NA_Entity

    PE00_0005 PE00_0005

    ......

    As you can see, all the source entities that start with "PE" are equal to the entity target and any other entity not starting not not by PE must be mapped to 'NA_Entity '. I think it's quite inefficient to keep an explicit plan, so we decided to create a conditional mapping script (does not work yet) which reads as follows:

    If left (varValues (15), 2) = "PE".

    Result = varValues (15)

    Another result = "NA_Entity."

    Whenever I try to import a file I get away:

    Error: An error occurred importing the file.

    Details: Invalid as Clause: for card size (ENTITY) and rule (Peps)

    ERROR:

    Code............................................. 4026

    Description... Not valid as Clause: for card size (ENTITY) and rule (Peps)

    Process... clsImpProcessMgr.fLoadAndProcessFile

    The component... upsWObjectsDM

    Version.......................................... 1112

    Thread........................................... 5416

    IDENTIFICATION:

    User............................................. admin

    Name of the computer... CTARESULDESA2

    App Name......................................... INT_IECI

    Client App....................................... WebClient

    CONNECTION:

    Provider......................................... SQLOLEDB

    Database server... 10.228.128.168

    Name of the database... FDM_INTIECI

    Trust connect... Fake

    Connect status... Open connection

    GLOBALS:

    Location......................................... Argentina-EP

    Location ID... 758

    Location Seg... 3

    Category......................................... Reales

    ID of the category... 13

    Period........................................... Nov - 2013

    Period ID........................................ 2013 11-30

    POV Local........................................ Fake

    Language......................................... 1033

    User Level....................................... 1

    All Partitions... True

    Is Auditor....................................... Fake

    I followed the guide to script and Iv'e I tried several scripts, all without success. The only solution I found is now an explicit plan where 99% of the elements map to themselves and the other card by 1% in "NA_Entity", not very friendly.

    Thank you very much for your help

    Santiago Ruiz.

    You don't mention what version of FDM, you work with, but there should be no need for the script.

    Explicit mappings are the most efficient from a performance point of view, but account given what you want to achieve, then, all you need are two 'Like' mapping entries.

    the first will be mapping EP * EP * and the mapping of the second entry * to "NA_Entity" to pick up all the other codes.

    Otherwise if you treat millions of records and have a performance problem, an alternative may be to change the type of no "PE" recorded with a script on the import format, but I think that both records should be the easiest.

  • How fewer dimension required for integration of FDM Script

    Hi gurus

    I have only 2 dimensions in my SQL Table name dbo. ABC (example: 1 entity 2 account / amount (value data))

    Example:
    USA, SALES, 50000

    (Including the value its overall size of 3)

    How to export data to HFM Application target.

    Integration script had success when I click validation it is shows only 2 dimension 1. account 2.Entity. I've correctly mapped. but the posting form does not appear anything. I had the fish of gold for the validation button and Export also gives success and got goldfish. but no data is exported to the application of HFM.
    in sending its FDM created a file that is containing only! * * text data. There is no record in this file.

    I want to load the data with the rest of the dimensions with [none] combination of Member because I don't have the extra dimensions in my source file.

    Dimension minimum how required to export data from FDM to HFM?

    concerning
    Thaer

    You can assign empty values in your integration script for example rsAppend.Fields ("Desc1") = "" will assign an empty string to the description. Personally I would not assign an empty string to one of the active as mapable dimensions don't wouldn't you able to catch the latter with a Joker card and they would only informative. If you know they are goiung to be None, then pass the string None for them and map this value for example
    rsAppend.Fields ("PKI") = "No PEAK"
    rsAppend.Fields ("UD1") = 'None '.

    There is lack of your script is because the recodset that you use to assign a values only 3 fields. So if you refence ordinal in the range 3-9 IT will not exsit
    e.g. rsAppend.Fields ("PKI") = rs.fields (3). Value generates the error message you get, as well as rsAppend.Fields ("Desc1") = rs.fields ("txtAcctDes"). The value because there is no field in the recordset named txtAcctDes

  • Using wildcard characters in the Script Map

    Hi everyone, im new in FDM and I have some doubts on mapping scripts.

    I have to recreate this translation in FDM Hyperion rule:

    ACC_SAP tm_sap Reverse sign UD4
    N21099Z300 {NULL} FAKE CD1
    D31199Z000 {NULL} FAKE CD1
    ???? 99 * FAKE CD

    ACC_SAP is the account of the source
    TM_SAP will be loaded UD5 (as looking up)

    How can I manage with a similar mapping?

    I guess the use of the script, but im not sure how to use wildcards wildcard in scripts, is - it possible?

    Another related issue, in an explicit mapping, how can I manage with NULL values if I want to assign [none] value, what I have to insert the value NULL into the field source th?

    BR and thanks

    As long as you're using wildcards in the source and them pointing to a single account, you can do all that you have demonstrated. All this is done directly in the similar table. No script is needed.

    ??? 99 * goes to the HFM_99 or whatever your target.

  • Example of Script Mapping

    How do you write a script with the following mapping?

    If amount = 0 then card member target to IGNORE the case, map it to himself.

    I have this so far, but no luck

    account = fdmRow.getString ("ACCOUNT")

    quantity = fdmRow.getString ("AMOUNT")

    If (amount) == 0:

    fdmResult = 'IGNORE '.

    on the other

    fdmResult = account

    Hello

    What error do you get?

    After missing colon (:) on the other.

    Also, you have found the AMOUNT as string so you should cast as float

    I hope that this script should work:

    account = fdmRow.getString ("ACCOUNT")

    quantity = float (fdmRow.getString ("AMOUNT"))

    If amount == 0:

        fdmResult = 'IGNORE '.

    Another thing:

        fdmResult = account

  • FDM account mapping split (according to the scale)

    If the account balance is positive, then map it to one account liabilities; If negative, then map to an asset account.

    I'm trying to create a logical group for her and put a simple script function in the value/Exp filed. I'm on the right track? Somehow I can't get it to work. Any help would be appreciated. Thank you.

    Hello

    If you want to follow the approach with the logical group you must create logic two accounts, one for accountability and other assets. Then, you can use Fun operator and the following value/Exp:

    LAcc_Liab: If CURVAL => 0 result then = CURVAL Else Result = "Skip" End If

    LAcc_Asset: If CURVAL< 0="" then="" result="CURVAL" else="" result="Skip" end="">

    Then in your mappings, you can map two accounts of logic to your specific target accounts.

    You can choose simple/complex group based on your requests, but if they refer only to the account, you can use Simple.

    I hope this helps.

    akafdmee.blogspot.com

  • Encryption of password for the FDM script

    I am currently on Hyperion 11.1.2.1 which runs on Windows 2008 Server SP1 and uses Oracle Database 10 G as a backend.

    Currently, I have a script within the application of FDM which pulls data from database and load in the table of the application of the FDM.
    It works all fine and does the job as expected.

    But the only problem with this script, it's that the passwords are in a readable format that is specified in the parameters of connection as below

    Code snippet:

    Dim connectionString

    ' * Create the connection
    Sun connection: connection = CreateObject ("ADODB. Connection")
    Dim lines: set lines = CreateObject ("ADODB. Recordset')
    connectionString = "Provider = msdaora; Data Source = TestRdbms; User Id = Testuser; Password = password567; »


    ' * Open connection
    ConnectionString Connection.Open


    Is there a way to make sure that this password is encrypted or not read by the user/admin.?
    Please give your suggestions on this.

    To use the udl from inside your script just to replace your line

    connectionString = "Provider = msdaora; Data Source = TestRdbms; User Id = Testuser; Password = password567; »

    with

    connectionString = "File Name=C:\Path\To\Your\SourceDB.UDL";

  • Integration with OLAP Source FDM script

    FDM has the ability to extract data from a system of OLAP source such an Essbase cube? Looking at guides and more specifically the example script of integration, it is oriented to relational backend. I know by nature, is not what I am asking, so the issue is with the case any script is this possible at all?

    Thanks to you all

    You can write a script that will run a script to calc dataexport but he is not a native import script or source adapter for it.

  • FDM Scripting question

    Hello

    I would like to know what is the best way to do the following:

    Source account - 123, if '+' import to HFM account ABC and if "-" import to account DEF

    Help, please.

    Hello

    Yes, this can be done. This is done via "Conditional mapping", you will write a VBScript style rule to test the value, and then map it accordingly.
    More information found in the guide of the FDM of conditional mapping administrator.

    Hope this helps,

  • Change of REPORT in a Script Map

    Is it possible to change the current sheet in the REPORT, using a script?

    I have 9 leaves in the REPORT, each with different cards on them and try to update the axis minimum and maximum values x for all 9 sheets. This is part of an automated process of data communication.

    I'm confused, because if I record the process of change a parameter in Sheet1, and then on the sheet 2, it applies the changes, in order, for only 1 sheet. There is nothing in the script to tell DIAdem to switch from the current sheet.

    Any help would be greatly appreciated.

    Try changing the "GraphSheetCurrNo" variable, it's the active sheet.

  • Select all the script maps

    Hi all

    Hoping someone out there can help, I need my script to end with one of the following 3 options:

    Select all: as in "cmd one"

    Select all the objects on the layer "Tabs".

    Select all the objects with the Script title boxes"tabs".

    Reason being, when the script ends I need a bunch of boxes to be pre-selected loan for a manual deselect by 1 point (chosen by the user) and then they Deletes selected objects manually to finish. (I didn't understand my original script here as has no impact on the autonomous part I need for the final selection)

    Hoping that this is a simple script but as it is rare to have a script of object selection and not do something with them, I think it's impossible to create.

    Thank you, Bren

    Read the object model and you will find that the equivalent script Cmnd + A is as follows:

    app.selection = null;
    pItems = app.windows[0].activeSpread.pageItems;
    app.select (pItems, SelectionOptions.ADD_TO);
    

    To select all items in the layer tab page, filter the items in the page:

    app.selection = null;
    pItems = app.windows[0].activeSpread.pageItems;
    
    for (i = pItems.length-1; i >= 0; i--) {
      if (pItems[i].itemLayer.name === 'Tab') {
        app.select (pItems[i], SelectionOptions.ADD_TO);
      }
    }
    

    To select objects with a certain script label is a variant of the (or an addition to) the second script.

    Peter

  • The HTML output to the existing script maps help

    I found a script that had a lot of things that I needed. I have since deleted stuff we didn't need and added some other stuff that we need. The result is good, but now I want to turn this into a page in HTML and it gets an error. Any help would be greatly appreciated. I'm pretty good with PowerShell to be somewhat dangerous with things.

    $Cluster = 'CLUS-1'
    $ClusterName = Get-Cluster $Cluster
    $Datastores = $ClusterName | Get-Datastore | Where {$_.Name -notlike '*LOCAL'  -and $_.Name -notlike 'VM_Datastore*' -and $_.Name -notlike 'Templates' -and $_.Name -notlike 'ISO' -and $_.Name -notlike '*SCRATCH*' -and $_.Name -notlike 'Archive'}
    $Clusters = Get-View -ViewType ComputeResource | Where {$_.Name -like $ClusterName.Name}
    
    $Clusters | % {
    $Cluste                      = $_
    $VMHostsView                 = $null
    $VMHostsView                 = Get-View $Cluste.Host -Property Name, Hardware, Config
    $VMss                        = $ClusterName | Get-VM
    $HostCount                   = ($VMHostsView | Measure-Object).Count
    $VMCount                     = 0 + ($VMss | Measure-Object).Count
    $VMsPerHost                  = [Math]::Round(($VMCount/$HostCount), 1)
    $vCPU                        = 0 + ($VMss | Measure-Object -Sum -Property NumCPU).Sum
    $allocatedram                = 0 + ($VMss | Measure-Object -Sum -Property MemoryGB).Sum
    $avgrampervm                 = [Math]::Round(($allocatedram/$VMCount), 1)
    $pCPUSocket                  = ($VMHostsView | % { $_.Hardware.CPUInfo.NumCpuPackages } | Measure-Object -Sum).Sum
    $TpCPUSocket                += $pCPUSocket
    $pCPUCore                    = ($VMHostsView | % { $_.Hardware.CPUInfo.NumCpuCores } | Measure-Object -Sum).Sum
    $vCPUPerpCPUCore             = [Math]::Round(($vCPU/$pCPUCore), 1)
    $TotalClusterRAMGB           = [Math]::Round((Get-Cluster $Cluster | Get-VMHost | % { $_ } | Measure-Object -Property MemoryTotalGB -Sum).Sum)
    $TotalClusterRAMusageGB      = [Math]::Round((Get-Cluster $Cluster | Get-VMHost | % { $_ } | Measure-Object -Property MemoryUsageGB -Sum).Sum)
    $TotalClusterRAMUsagePercent = [Math]::Round(($TotalClusterRAMusageGB/$TotalClusterRAMGB)*100)
    $TotalClusterRAMFreeGB       = [Math]::Round(($TotalClusterRAMGB-$TotalClusterRAMUsageGB))
    $TotalClusterRAMReservedGB   = [Math]::Round(($TotalClusterRAMGB/100)*15)
    $TotalClusterRAMAvailable    = [Math]::Round(($TotalClusterRAMFreeGB-$TotalClusterRAMReservedGB))
    $newvmcountram               = [Math]::Round(($TotalClusterRAMAvailable/$avgrampervm))
    $DSCount                     = 0 + ($datastores | Measure-Object).Count
    $TotalDSCapacityGB           = 0 + [Math]::Round((($datastores | Measure-Object -Sum -Property CapacityGB).Sum), 0)
    $TotalDSFreeGB               = 0 + [Math]::Round((($datastores | Measure-Object -Sum -Property FreespaceGB).Sum), 0)
    $TotalDSUsedGB               = [Math]::Round(($TotalDSCapacityGB - $TotalDSFreeGB),0)
    $allocatedstorage            = 0 + ($VMss | Measure-Object -Sum -Property ProvisionedSpaceGB).Sum
    $avgstoragepervm             = [Math]::Round(($allocatedstorage/$VMCount), 1)
    $newvmcountstorage           = [Math]::Round(($TotalDSFreeGB/$avgstoragepervm))
    
    New-Object PSObject |
    Add-Member -Pass NoteProperty "Cluster Name" $ClusterName.Name |
    Add-Member -Pass NoteProperty "Cluster - Host Count" $HostCount |
    Add-Member -Pass NoteProperty "Cluster - VM Count" $VMCount |
    Add-Member -Pass NoteProperty "Cluster - VM per Host" $VMsPerHost |
    Add-Member -Pass NoteProperty "Compute - Number of pCPU" $TpCPUSocket |
    Add-Member -Pass NoteProperty "Compute - pCPU per Core" $pCPUCore |
    Add-Member -Pass NoteProperty "Compute - Number of vCPU" $VCPU |
    Add-Member -Pass NoteProperty "Compute - vCPU per pCore" $vcpuperpcpucore |
    Add-Member -Pass NoteProperty "Compute - Total Memory (GB)" $TotalClusterRAMGB |
    Add-Member -Pass NoteProperty "Compute - Total Memory Used (%)" $TotalClusterRAMUsagePercent |
    Add-Member -Pass NoteProperty "Compute - Total Memory Used (GB)" $TotalClusterRAMusageGB |
    Add-Member -Pass NoteProperty "Compute - Total Memory Free (GB)" $TotalClusterRAMfreeGB |
    Add-Member -Pass NoteProperty "Compute - Total Memory Allocated (GB)" $TotalClusterRAMReservedGB |
    Add-Member -Pass NoteProperty "Compute - RAM Available for NEW VMs (GB)" $TotalClusterRAMAvailable |
    Add-Member -Pass NoteProperty "Compute - Average RAM allocated per VM" $avgrampervm |
    Add-Member -Pass NoteProperty "Compute - Remaining VMs based on available RAM" $newvmcountram |
    Add-Member -Pass NoteProperty "Storage - Datastore Count" $DSCount |
    Add-Member -Pass NoteProperty "Storage - Total Datastore Capacity (GB)" $TotalDSCapacityGB |
    Add-Member -Pass NoteProperty "Storage - Total Datastore Free (GB)" $TotalDSFreeGB |
    Add-Member -Pass NoteProperty "Storage - Total Datastore Used (GB)" $TotalDSUsedGB |
    Add-Member -Pass NoteProperty "Storage - Average storage allocated per VM" $avgstoragepervm |
    
    
    Add-Member -Pass NoteProperty "Compute - Remaining VMs based on available storage" $newvmcountstorage
    }
    

    {on the last line of the script after} add below line

    | ConvertTo-Html | Out-file c:\log.html

  • script maps powered network

    Hello all I have a problem I use see planner to deploy some related clones and my office is 32-bit Windows xp for some reason any the

    E1000 network adapter do not check connected start and connect to power on when the gold statue has these options selected before cloning.

    So I have to manually check these options on the desktop "there are 300 of them" someone at - it a script I can run to check these options if I don't manually

    must be done?

    Thanks I hope someone has something that they could share with me.

    Try something like this

    Get-Cluster -Name MyCluster | Get-VM rdclient* | Get-NetworkAdapter | where {!$_.ConnectionState.StartConnected} |Set-NetworkAdapter -Connected:$true -StartConnected:$true -Confirm:$false
    

Maybe you are looking for