Parameterized measure type - 2 different approaches

Hi colleagues,
I need again your priceless time to discuss the following situation:
I would like to parametetized the type of measure, or better, the type o calculation applied to a specific measure, i.e., I have only two base measure, Net Sales, and Gross Sales, and then I have different calculations like YTD, Currency Adjusted, Currency
Adjusted Last Year, EUR Value, EUR Value LY, etc...
Instead of create a big set of calculated members, I would like to create a measure type dimension instead, and then the user can select want he wants to see. I figured out two different ways:
1) In the view which feeds the cube, create a data set for every measure type and flag it with the correspondent type and then apply an Union All to join the sets. The big disadvantage for me is, I will multiply the size of this measure group by the number
of different measure types that I have.
2) Inside the calculated member formula, use a switch of if-else statement to determine which formula should be apply. My concerns here are related to the performance of this approach.
Any Idea or comment would be highly appreciated.
Kind Regards,

Hi Paul,
    I have implemented the same type of Dimension for my project.  I have used the scoped  assignments for my purpose. With this approach I can differentiate the calculations within the scope of a particular measure.
Let's say that your Fact table is Sales. I have created a new column in Sales and named it as MeasuresDimKey with default value as 1. I have also created a MeasuresDim dimension like: 
Create View MeasureszDim as
Select 1 as ID, 'Actual' as MeasureType
In dimension usage I have established a relationship between Fact and Dimension table. Then I head back to calculations and created the measures I want as NULL...
Create member CurrentCube.[MeasuresDim].[MeasuresDim].Measure1 as NULL;
Scope([MeasuresDim].[MeasuresDim].Measure1);
Scope(<Other Dimension Members>)
This=DefaultMember <Actual Member in MeasuresDim Dimension>
* <Calculation>
End Scope;
 Please set the IsAggregatable Property to False and Actual member as DefaultMember for the dimension attribute. Scopes worked really well for me and may or may not work for you. Please find the below code for your reference.
--- Currency Utility Dimension-----------
Create member CurrentCube.[Currency Conversion].[Currency].[Euro Fixed] AS NULL;
Create member CurrentCube.[Currency Conversion].[Currency].[Euro Variable] AS NULL;
Create member CurrentCube.[Currency Conversion].[Currency].[USD Fixed] AS NULL;
Create member CurrentCube.[Currency Conversion].[Currency].[USD Variable] AS NULL;
Create member CurrentCube.[Currency Conversion].[Currency].[STG Fixed] AS NULL;
Create member CurrentCube.[Currency Conversion].[Currency].[STG Variable] AS NULL;
Scope([Currency Conversion].[Currency].[Euro Fixed]);
Scope([Measures].[Sales Value Manufacturer]);
This=sum([Currency Conversion].[Currency].&[1],[Measures].[Sales Value Manufacturer])
*sum([Currency Conversion].[Currency].&[1],([Currency].[Currency].&[1],[Measures].[Latest Exchange Rate]));
Format_String(This)="#,##0.00;-#,##0.00";
End Scope;
Scope([Currency Conversion].[Currency].[Euro Variable]);
Scope([Measures].[Sales Value Manufacturer]);
This=sum([Currency Conversion].[Currency].&[1],[Measures].[Sales Value Manufacturer])
*sum([Currency Conversion].[Currency].&[1],([Currency].[Currency].&[1],[Measures].[Exchange Rate]));
Format_String(This)="#,##0.00;-#,##0.00";
End Scope;
Scope([Currency Conversion].[Currency].[USD Fixed]);
Scope([Measures].[Sales Value Manufacturer]);
This=sum([Currency Conversion].[Currency].&[1],[Measures].[Sales Value Manufacturer])
* sum([Currency Conversion].[Currency].&[1],([Currency].[Currency].&[3],[Measures].[Latest Exchange Rate]));
Format_String(This)="#,##0.00;-#,##0.00";
End Scope;
Scope([Currency Conversion].[Currency].[USD Variable]);
Scope([Measures].[Sales Value Manufacturer]);
This=sum([Currency Conversion].[Currency].&[1],[Measures].[Sales Value Manufacturer])
*sum([Currency Conversion].[Currency].&[1],([Currency].[Currency].&[3],[Measures].[Exchange Rate]));
Format_String(This)="#,##0.00;-#,##0.00";
End Scope;
Scope([Currency Conversion].[Currency].[STG Fixed]);
Scope([Measures].[Sales Value Manufacturer]);
This=sum([Currency Conversion].[Currency].&[1],[Measures].[Sales Value Manufacturer])
* sum([Currency Conversion].[Currency].&[1],([Currency].[Currency].&[2],[Measures].[Latest Exchange Rate]));
Format_String(This)="#,##0.00;-#,##0.00";
End Scope;
Scope([Currency Conversion].[Currency].[STG Variable]);
Scope([Measures].[Sales Value Manufacturer]);
This=sum([Currency Conversion].[Currency].&[1],[Measures].[Sales Value Manufacturer])
*sum([Currency Conversion].[Currency].&[1],([Currency].[Currency].&[2],[Measures].[Exchange Rate]));
Format_String(This)="#,##0.00;-#,##0.00";
End Scope;
Best Regards,
Venkata Koppula

Similar Messages

  • Multiple measurement types, help!

    I am trying to write a multi-purpose vi for students to use for acquiring and recording strain, thermocouple, LVDT, and DC voltage signals as needed by their experiments.  We have a setup on wheels with a PCI-6052E card cabled to an SCXI 1001 chassis with the following modules installed: four 8-channel strain modules (SCXI-1520), one 32-channel thermocouple module (SCXI-1102), one 8-channel LVDT module (SCXI-1540), and a SCXI-1180 feedthrough panel with SCXI-1302 terminal block.  So I would like to be able to read as many of these channels as the user selects, including some voltage signals that don't need conditioning (like the 0-10V output for force off an old Tinius Olsen machine) that I planned to connect using the feedthrough panel.  Then I would like to add the ability to trigger the recording of data by user button push or a digital trigger signal from an MTS Flextest servohydraullic controller running MPT.  Finally, I would like to add the ability to take any few of these signals and output them as custom scaled analog outputs to be used by external devices.
    I'm taking this one step at a time since I am new to Labview.  I started by finding an example that did multiple strain gages how I wanted (with automatic bridge nulling, lowpass filter, and shunt calibration functionality) called "Cont Acq Strain Samples (with Calibration).vi".  I first rearranged the controls so I could group channel configuration controls on tabs for each sensor type (more controls will be added later).  Then I added preliminary functionality for recording an lvm with a button press.  Everything worked fine as I tested with 2 strain gages wired up.
    Next I decided to bring in LVDT signals.  I wired up our only 3 LVDTs (for now) and configured global virtual channels in MAX for each (these will rarely be reconfigured so there is no need to allow the user to change parameters using front panel controls, just select which ones to use).  I added a DAQmx Global Channel name control to the "LVDT" tab and added a name filter so only global LVDT channels would be displayed.  This way the user can select any number of the 3 available LVDT global virtual channels to use.  On the block diagram, I added a DAQmx Create-Task with the selected global virtual channels wired in immediately before the DAQmx Create Channel (AI Strain Gage) that was there from the original example code.  Thus combining the strain and lvdt sensors into the same task.
    When I try to run I get an error (Error -200077 occurred at Property Node DAQmx Channel (arg 2) in alex_strain_LVDT_v4.vi) because the property node that was setting the lowpass filter for the strain channels is now trying to do the same for the LVDT channels which don't have that option.  I suspect a similar error would occur if the program hadn't aborted and began strain bridge nulling and shunt calibration.
    So my question is how do I get around this?  Can I somehow configure that property node to only change settings for the strain channels?  I've found plenty of NI support entries explaining how to use a single task for multiple AI measurement types (including DAQmx Task Example_Configuration.vi) after I ran into conflicts with reserved resources trying to use seperate tasks.  But none of these examples address my problem of wanting to change properties for only select channels in the task.
    Message Edited by sdsmt_alex on 01-19-2006 01:32 AM
    Attachments:
    alex_strain_LVDT_v41.vi ‏215 KB

    Thanks Dev,
    I got that part to work and then wired the same subset string into the channels input of the 'DAQmx Perform Bridge Offset Nulling Calibration.vi' for a similar effect on the bridge nulling portion.
    Now I run into a similar problem if shunt calibration is enabled.  An error message comes up telling that it can't modify the AI.StrainGage.GageFactor property on an LVDT channel.  My code calls the 'subSCXI Multi-Chan Shunt Cal.vi' which doesn't have a channel/active channel input so that I can specify only strain channels for shunt cal.
    Does anyone have any ideas how I can get the shunt calibration to only happen for strain channels in a task with other channel types?  The 'subSCXI Multi-Chan Shunt Cal.vi' calls many sub vi's so it would probably take a lot of work to sort through and modify them to fix this problem.
    Any advice would be appreciated.
    Alex

  • VB6 NI-USB-9237 DAQmxCreateAIVoltageChan selected physical channel does not support the measurement type required

    I have a VB6 program with code that properly reads analog inputs from an NI-USB-6008.
    I tried to re-use the code for a strain-gage module NI-USB-9237, but at the DAQmxCreateAIVoltageChan step I get the following error:
    "Measurements: Selected physical channel does not support the measurement type required by the virtual channel you are creating.
    Create a channel of a measurement type that is supported by the physical channel, or select a physical channel that supports the measurement type."
    Should I be calling a function other than DAQmxCreateAIVoltageChan?
    If so, what is it, or where can I find the reference for such functions?
    Or - if that is the right function, should I pass different arguments?  Currently I'm calling:
    DAQmxErrChk DAQmxCreateAIVoltageChan(taskHandle, "Dev1/ai1", "", DAQmx_Val_Cfg_Default, -10, 10, DAQmx_Val_VoltageUnits1_Volts, "")
    Thanks in advance for your help
    -Chris Hardy
    Solved!
    Go to Solution.

    I figured it out from 372251a.PDF
    First, the correct function is DAQmxCreateAIVoltageChanWithExcit
    Second, you can't just ask for one sample on one channel - ask for 2 samples instead.
    -Chris Hardy

  • Measurement types for water consumption

    Hi,
    I have following scenario in industrial lease out.  There are two meters for water consumption. The water rate is different / same for both the meters.
    Is it possible to configure the same by using two different measurement types for water consumption and a single condition type for water consumption ? Do I need to create two separate condition types for water consumption for two meters?
    I need to have two separate line items in the contract under conditions for water consumption. The two line items will also be printed as two separate line items in the invoice.
    Regards
    T Saravanan

    Hi,
    the combination condition type, calculation object and condition purpose must be unique for a specific key date.
    Regards, Franz

  • Video iPods, USB2, Firewire and older macs - a different approach

    I've been trolling the discussion boards here because I find myself with the same problem many others have noted here: I just bought a family member a Video iPod (5G) for Christmas, I realize they no longer support firewire, only USB2 and I only own an older eMac that has firewire but NOT USB2 and no PCI slots for USB2 cards. I await Christmas with dread when, after opening their gift, they'll want to put content on their new 5G iPod and we'll sit around all day while that happens.
    I'll not get into why Apple dropped firewire from the 5G iPods.
    My different approach is that what is needed is a bridge connector or hub that will bridge a USB2 cable to a firewire port.
    There are a number of combo hubs but these are just 2 hubs in one with each bus (USB2 and firewire) having it's own separate connection back to the host computer. And if you connect the USB cacle back to a host with USB1, System Profiler will tell you rthat your USB2 ports areoperating at "Up to 12 Mb/sec"
    Even the Universal Dock will will not get USB2 speeds out of a mac with USB1 ports. It clearly states, :...allows you to connect your iPod with the cable that came with it."
    I've done a lot of searching and the closest I've come up with is this:
    http://www.gizmodo.com/archives/pixela-pixuvcdu1w-firewire-to-usb-20-bridge-cabl e-016285.php
    but that goes the wrong way. Plus it's expensive ($80 - $90).
    It's designed to connect a firewire equiped DV camcorder to a PC that only has USB2 ports.
    To me this sounds like an opportunity for some of the 3rd party vendors playing in the Apple world (Griffin Technology, Belkin, XtremeMac etc) to fill what is obviously a a major need here. Reading these forums there seem to be many many people that have older Macs without USB2 and 5G iPods.
    We need a USB2 to Firewire bridge connector for all of people with older macs and 5G iPods.
    Someone please help us.
    Bob Jakuc

    Thank you for your response. I mention this in my original post. In fact, I bought one of these thinking it might solve my problem. It doesn't. In effect the D-Link DFB-H7 is 2 hubs in one enclosure. To use the firewire ports you have to attach the D-Link to your computer via a firewire cable. To use the USB2 ports, you have to attach the D-Link to your computer via a USB cable. You can't have a single, unified host connection AND use all the ports on the D-Link. The USB ports on the D-Link aren't even active if you don't connect to your computer via USB.
    I'm upset for two reasons: 1) the D-Link hub advertising isn't explicit about the need to have separate hub to host connections for each bus you want to use and 2) since my eMac only has USB 1.1 ports, the USB2 ports in the D-Link are 'stepped down' to USB 1.1 speeds (12 Mbps).
    I'm also frustrated because I'd add a USB2 cardbus card to my eMac but it looks like the slot over the CD-ROM drive is only for Airport/Airport Extreme cards.
    Does anyone have any info on that? Is the slot over the CD-ROM drive in a 1 GHz eMac a general purpose cardbus/PCMCIA type II slot or is it just for Airport cards?
    Maybe I'll ask over on the discussions for the eMac.
    Thanks again.
    Bob
    Powerbook G4 (Titanium)   Mac OS X (10.4.3)   eMac 1GHz

  • What are the different approaches to do Fault Handling?

    What are the different approaches to do Fault Handling?

    for uplodig data to non sap we have 2 methodes
    i) if u know bapi u will use lasm
    2) bdc
    but u mentioned so many records isthere
    best thing is u will uplode all record sto al11 using XI interface
    then u have to write bdc / lsmw  program
    beter to go for lsmw before that u will find bapi
    if u will unable to find bapi
    u have to create bapi and use it in lasmw
    ofter that u have schedule the lsmw program as a bockground
    then u have to create a job for it
    and release from sm 37
    then u have to moniter through bd87
    if u want to go through i will help u.
    if it is usefull to u pls give points
    Saimedha

  • Movement Type 261 - Different G/L account to get debited for same Movement

    Hi Friends,
    I need your help to solve the following issue
    We are in the process of implementing ECC 6.00. One of our client requirement is for Movement type 261 , different consumption account to get debited for different types of issues. i.e. incase of MT 261 issue for maintenance order the consumption account should hit to Maintenance G/L and incase of MT 261 issue for production order different  consumption account to get debited.
    I think One way to meet this requirement is by creating new Movement type by copying MT261 and assigning new Account Grouping to that MT and assigning GL in GBB against the new account grouping.
    I would like to know is there any other way to meet this requirement in SAP.
    Request you earliest advise on this issue as we are in the stage of final integration test
    Thanks
    Deva

    Dear
    If the solution works fine please do let me know in detail as we have the same requirement.
    Thanks and Regards
    JS

  • Need help with Different approaches to setting variables in a Flash movie in Adobe Flash CS3 Professional Version

    Hi,
    I'm using Adobe Flash CS3 Professional version of Flash
    software,
    I need help and guidance on
    Different approaches to setting variables in a Flash movie,
    what I should do in the fla file, and in the html file.
    Thanks, Gil

    Hi petro_jemes,
    Just a little claritification, you need to add the value to the variable "[string]$ou", and also change the language in the variable "$emailbody" in the function "Get-ADUserPasswordExpirationDate".
    I hope this helps.

  • Is it possible to create Order type with different number ranges-Plant wise

    Hi Experts
    Client wants to get the different number ranges for the order types created in the different plants. Is there any user exit for the same.
    I have assigned the order type to the different plants. And Order type is assigned to a no range. So whenever a order type is created in different plants; order types uses the same number ranges.
    so with this situation one cann't know the total no. of order created within a plant.
    Is there any solution for the same.
    Pease give your valuable solutions.
    Regards
    Pankaj

    Hi
    Best way is to create different order types for different plants.
    like we have order types OR15 ,OR20 & OR30 for different plants 1500 ,2000 & 3000 .
    you can assign different number range for different order type.
    this is simplest solution.
    Regards
    Sujit

  • Mm:can we assign movement type to different g/l acc.

    dear gurus.
    please help me out.
    can we assign movement type to different g/l acc.
    if yes how?
    thanks
    piyush singh

    Its depends , if the valuation class, plant is different, yes you can define diff G/L acc, but if all criteria in the same, then you can copy the mov,type and then define your own account modification then assign the diff G/L acc in OBYC.
    Please also check this link:
    Movement Type 261 - Different G/L account to get debited for same Movement

  • Field Seletion for movement type  / acct differes for BA

    dear all
    while posting in MM the user is facing the problem and error message
    Field Seletion for movement type  / acct differes for BA
    please let me know if i can do some thing with Field status variant in FI
    I am not able to figure this out

    If you Run Program RM07CUFA in SE38 and compare movement  type  and GL you can see the
    comparison of the field status variant of the movement type and GL
    Hope this will resolve your issue
    Bilal

  • Can we assign same  basic type to  different message type in ALE

    Hi Expert
       can we assign same idoc type to different message type?

    Hi,
    Yes you can assign the one idoc type to multiple message type. Message type nothing but it represents the kind of data we transfer.But idoc type is the format in which we transfer data. As an example in Messager types "ORDERS" and "ORDRSP"  both indicates the order related data, and in both case idoc type can be ORDERS01, ORDERS02.............
    Thanks,
    Asit Purbey.
    Edited by: Asit Purbey on Oct 12, 2009 3:07 PM

  • How to assign different Message Type to different Doc. Types

    Hi,
    Can anyone tell me how can I assign different Message Type to different Doc. Types e.g. in ME21N. So that whenever the Doc Type is selected the respective Message Type is automatically assigned.
    Lucky

    hi there
    follow this path
    spro - materials management - purchasing - messages - output cntrol - message types - define message types for p/o
    then
    spro - materials management - purchasing - messages - output cntrol - message determination schemas - define message determination schemas for purchase order
    then
    go to
    mn04
    give doc type  - enter
    enter partner role & other parametrs

  • Different Transaction Types for Different Depreciation Areas

    Dear Friends,
    When I am viewing the asset explorer for the asset, it is oberved that for book derpreciation 01, the asset transaction type "acquisition value" is updated and am able to view the same.
    However when I am going through the tax depreciation area, the transaction type intercompany transfer" got updated and the acquisition values are not updated.
    I would like know the reason of how the system is going to update different transaction types in different depreciation areas since the postings only takes effect in book depreciation and same should be diplayed for tax depreciation.
    Thanks in advance!

    hi
    go to OAYA
    select        "Limit Transaction Types to Depreciation Areas"
    select the trnsaction type you using .
    select depreciation area specification
    and maintain entries for every dep area you want to maintain for transaction type.
    regards

  • CAT2 - Default different absence types for different sets of cmployees

    Hi all,
    I have ben trying to do this for quite a while
    I am trying to default different sets of absence types for different sets of employees ( diff employee groups)
    I would ideally not want to create different cats profiles for these employees.
    Has any one done this before.
    I have chedked the user exits cats0002, the badi cats_derivatives and the customization but could not find a way to do this. Any ideas on how to do this w/o defning new cats profiles for each type of employee?
    regards
    Raj

    Enhancing 0315 wouldn't help.. starightaway.. you would still need to add code to default the A/A type.. & CATS0002 kicks in after User input.. looks like you will need to modify Std code..
    ~Suresh

Maybe you are looking for