SSRS Compare a string value in an column

I need to show a text box that shows a message if the string values of a column on SSRS report have mixed values.
I need to compare the first three letters of a string to see if its different. If different then unhid Textbox and show a message. How can I do this in SSRS or SQL (if sql how do I feed it to SSRS)?
For example
Substring(alloy,1,3) <> Substring(alloy,1,3)
ALLOY
KZA1
KZD1    << is different
KZA2

If your scope is the whole dataset then you can add a total row to the tablix outside any groups or
simply add a textbox below the tablix and apply the same principle:
=IIf(Min(Fields!Alloy.Value,"DatasetName") <> Max(Fields!Alloy.Value,"DatasetName"), "Mixed Alloy", "")
=IIf(Min(Left(Fields!Alloy.Value,3),"DatasetName") <> Max(Left(Fields!Alloy.Value,3),"DatasetName"), "Mixed Alloy", "")
This should do what you are asking. The only way that the minimum value for alloy will equal the maximum value for allow is if all values for alloy in the dataset are the same. When that happens, empty string is displayed in your text box rendering it invisible
if you set borders appropriately. Otherwise you will see "Mixed Alloy" in the text box.
"You will find a fortune, though it will not be the one you seek." -
Blind Seer, O Brother Where Art Thou
Please Mark posts as answers or helpful so that others may find the fortune they seek.

Similar Messages

  • Frequency of string values in a column

    I have a column (1500 rows) in which 5 different string values occur (R1, R2, R3, R4, R5). is there any way to count the frequency of each string value so the distribution can be charted?
    Many Thx.
    Malbara

    Malbara,
    You can use the COUNTIF function to calculate the frequencies.
    Jerry

  • How to compare 2 string value?

    i am creating a change password page, but having some problem,
    i use this
    if ( oldpassword == OrgPass)
    out.println("correct pass");
    else
    out.println("incorrect pass");
    both oldpassword and OrgPass are string, but even though the value of oldpassword and Orgpass are the same, it will still return a incorrect pass. Can anyone please help me with this?

    instead of this
    if ( oldpassword == OrgPass)
    out.println("correct pass");
    try this
    if ( oldpassword.equals(OrgPass))
    out.println("correct pass");

  • Compare floating point values in a column

    I have a column defined as NUMBER. The values are say 1.2345 and 1.23443. Visually i can say they are almost the same but if i do select count(distinct colA) from table it gives two values, which is perfectly right. What i want to do is say if they are less than 0.0001 then count them as same value.
    You could argue if i use ROUND or TRUNCATE to the 'n' decimal point but i see this as an issue even even to two decimal places. If the 3rd digit after the decimal is greater than 5 it would round the 2nd digit. If i use TRUNCATE to 'n' places then the last digit might be smaller than the previous value so again the same issue.
    However, my problem is how do i do if its in 2 or 3 different rows for the same column. If they are in two columns, i am able to do (COLA - COLB) and if the value is < 0.00001 then ignore or filter from the query result.
    Example:
    ColA , ColB
    Variable1, 1.23453876
    Variable1, 1.2342736
    Variable1, 1.23420087
    Variable2, 10.250
    Variable2, 15.775
    Variable3, -1.93815994262695
    Variable3, -1.93815803527832
    Output: Count of unique values for each variable in columnA
    Variable1, 1
    Variable2, 2
    Variable3, 1
    OR
    Output: Display on those variables whose values is more than 0.0001 (4 digits after the decimal)
    Variable2, 2
    I am using oracle 10.2 Enterprise Edition and accessing data via TOAD
    Thanks

    Peter,
    Thank you for the sql, i had not tried lag function before so it was new to me. I modified it slightly to lag by 'partition query'. The issue i see is it does delta between only two consecutive values so if there are 5 values in 5 rows then they can be off by 0.0001 (some small number) and we will never catch those variables because the case statement would evaluate to '0' based on the if condition.
    However, for my case it would work perfectly fine since i wanted to separate small values from the real obvious big deltas. As in the case below where the delta was 5.XX which narrows down to Variable2.
    with
    tab as
    (select 'Variable1' cola, 1.23453876 colb from dual union all
    select 'Variable3', -1.93815994262695 from dual union all
    select 'Variable1', 1.2342736 from dual union all
    select 'Variable2', 10.250 from dual union all
    select 'Variable2', 15.775 from dual union all
    select 'Variable1', 1.23420087 from dual union all
    select 'Variable3', -1.93815803527832 from dual union all
    select 'Variable4', 47.41209 from dual union all
    select 'Variable4', 47.41207 from dual
    select *
    from
    select
    cola,colb,lag(colb) over (partition by cola order by colb)prev_value, round(abs(colb - lag(colb) over (partition by cola order by colb)),4)prev_delta
    ,case when colb - nvl(lag(colb) over (partition by cola order by colb ), colb) < 0.0001 then 0
    else 1 end dif_count
    from
    tab
    --order by   cola
    --group by cola
    COLA     COLB     PREV_VALUE     PREV_DELTA     DIF_COUNT
    Variable1     1.23420087               0
    Variable1     1.2342736     1.23420087     0.0001     0
    Variable1     1.23453876     1.2342736     0.0003     1
    Variable2     10.25               0
    Variable2     15.775     10.25     5.525     1
    Variable3     -1.938159943               0
    Variable3     -1.938158035     -1.938159943     0     0
    Variable4     47.41207               0
    Variable4     47.41209     47.41207     0     0
    You guys rock! thank you.

  • Get Row reference in advanced table to set the value of custom column

    Hi,
    I have a requirement to add a new column PHP Amount in Manage Charge page which is a entry page where all the charges are entered for a PO. This region is based on Advanced table.
    As per requirement, Newly created column should populate the value of the existing column (Amount) or vice verse i.e. value entered in amount column should be set to PHP Amount column for a particular row. and the value entered in PHP amount should be stored in the custom table.
    I have added the column via personalization and setting the view attribute in extended controller as this column is not the part of the database table on which the VO is based upon. Also added a  PPR event in process request function in controller. And getting the reference of the row in processForm Request's PPR event and invoking the method defined in my custom AM for getting and setting the columns values . Here i can't extend the root AM as the Page have LOV columns so i have created my custom AM and adding it dynamically in controller.
    Here is the complete code
    Controller Code
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
               super.processRequest(oapagecontext, oawebbean);
               OAApplicationModule rootAm = oapagecontext.getApplicationModule(oawebbean);  
                OAApplicationModule nam = (OAApplicationModule)rootAm.findApplicationModule("XXIPCShipmentAMEx");
                 if (nam == null)
                     nam = (OAApplicationModule)rootAm.createApplicationModule("XXIPCShipmentAMEx", "xxipc.oracle.apps.inl.workbench.server.XXIPCShipmentAMEx");
               OAAdvancedTableBean tableBean =(OAAdvancedTableBean)oawebbean.findIndexedChildRecursive("ChargeLinesAdvTable");
               OAMessageTextInputBean phpAmt =(OAMessageTextInputBean)tableBean.findIndexedChildRecursive("XXIPC_PHP_AMOUNT");
               OAViewObject ChargeLinesVO1 = (OAViewObject)rootAm.findViewObject("ChargeLinesVO1");
                phpAmt.setViewUsageName("ChargeLinesVO1");
                if (ChargeLinesVO1 != null)
                    try
                      String l_att= ChargeLinesVO1.findAttributeDef("PHPAmt").toString();
                     catch(Exception exception)
                      ChargeLinesVO1.addDynamicAttribute("PHPAmt"); //Adding ViewAttribute to VO
                ChargeLinesVO1.reset();
                phpAmt.setViewAttributeName("PHPAmt");
               FirePartialAction FireActionA = new oracle.cabo.ui.action.FirePartialAction();
               FireActionA.setEvent("PPR");
               FireActionA.setUnvalidated(false);
               phpAmt.setPrimaryClientAction(FireActionA);
    public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
                super.processFormRequest(oapagecontext, oawebbean);
                OAApplicationModule rootAm = oapagecontext.getApplicationModule(oawebbean);
                OAApplicationModule nam = (OAApplicationModule)rootAm.findApplicationModule("XXIPCShipmentAMEx");
                OAAdvancedTableBean tableBean =(OAAdvancedTableBean)oawebbean.findIndexedChildRecursive("ChargeLinesAdvTable");
                OAMessageTextInputBean Amt =(OAMessageTextInputBean)tableBean.findIndexedChildRecursive("Amount");
                OAViewObject ChargeLinesVO1 = (OAViewObject)rootAm.findViewObject("ChargeLinesVO1");
                String rowRef = oapagecontext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
                Serializable[] param ={rowRef};
              // IF PPR event bind with PHPAmount column is triggered
                if("PPR".equals(oapagecontext.getParameter("event")))
                        nam.invokeMethod("PHPAmtPPRAction",param);
              // IF changeChargeAmt event(Standard Event ) bind with Amount column is triggered
               if("changeChargeAmt".equals(oapagecontext.getParameter("event")))
                  nam.invokeMethod("changeChargeAmtPPRAction",param);
    Custom AM Code
    public void PHPAmtPPRAction(String rowRef)
              OARow row = null;
              if (rowRef != null )
                   row=(OARow)findRowByRef(rowRef);
                   if(row != null)
                      Number phpAmt =(Number)row.getAttribute("PHPAmt");
                       if(phpAmt != null)
                              row.setAttribute("ChargeAmt", phpAmt);
      public void changeChargeAmtPPRAction(String rowRef)
            OARow row = null;          
              if (rowRef != null )      
                 row=(OARow)findRowByRef(rowRef);
                 if(row != null)
                     Number chargeAmt =(Number)row.getAttribute("ChargeAmt");                  
                     if(chargeAmt != null)                  
                             row.setAttribute("PHPAmt", chargeAmt );
    I m not able to set the PHP Amount column value entered in Amount column. But i am able to set the Amount column value to PHP amount column.
    I m not getting the Row Reference in case PPR event triggered in PHP Amount column . It is giving Null reference in case of PHP Amount.
    I don't know what i m missing ..Can anyone help me here..
    Thanks in advance
    Renu

    but using second way you will not be able to save those record in database, to save in database you have to override setter method also
    Code will be like this -
        public String getBillRemarks() {
           return getSuppNmTrans(); // This is first Column Value
           // return (String) getAttributeInternal(BILLREMARKS);    }
        public void setBillRemarks(String value) {
           //Setting First Column Value in Second
           setAttributeInternal(BILLREMARKS, getSuppNmTrans());  
    But i suggest you to use valueChangeListener on first field to set value in second one
    Ashish

  • "How to get distinct values of sharepoint column using SSRS"

    Hi,
        I have integrated sharepoint list data to SQL Server reporting services. I am using the below to query sharepoint list data using sql reporting services.
    <Query>
       <SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
       <Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
          <Parameters>
             <Parameter Name="listName">
                <DefaultValue>{GUID of list}</DefaultValue>
             </Parameter>
             <Parameter Name="viewName">
                <DefaultValue>{GUID of listview}</DefaultValue>
             </Parameter>
             <Parameter Name="rowLimit">
                <DefaultValue>9999</DefaultValue>
             </Parameter>           
          </Parameters>
       </Method>  
    <ElementPath IgnoreNamespaces="True">*</ElementPath>
    </Query>
    By using this query, I am getting a dataset which includes all the columns of sharepoint list. Among these columns, I wanted to display only 2 columns (i.e Region and Sales type) using chart. I have created a Region parameter but when I click preview, the drop down box is giving me all the repeatative values of region like RG1,RG1,RG1,RG2,RG2,RG2,RG2,RG3.......... I wanted to display only distinct values of Region parameter so that whenever end user select region from the parameter drop down, it will display the respective value of Sales type column.
    Also when I select only RG1 parameter, it is giving me a chart including the sales type of all the Regions. (it should display me only the sales type of RG1) How can I link these 2 columns so that they will display the values respectively.
              I would really appreciate if anyone can help me out with this.
    Thanks,
    Sam.

    Hi Sam,
    By code, the CAML language doesn’t have any reserved word (or tag) to set this particular filter to remove duplicate results.
    In this case, we could use the custom code to get distinct records.
    Here are the detailed steps:
    1.         Create a hidden parameter that gets all the records in one field.
    Note: Please create another dataset that is same of the main dataset. This dataset is used for the parameter.
    2.         Create a function that used to remove the duplicate records.
    Here is the code:
    Public Shared Function RemoveDups(ByVal items As String) As String
    Dim noDups As New System.Collections.ArrayList()
    Dim SpStr
    SpStr = Split(items ,",")
    For i As Integer=0 To Ubound(Spstr)
    If Not noDups.Contains(SpStr(i).Trim()) Then
    noDups.Add(SpStr(i).Trim())
    End If
    Next
    Dim uniqueItems As String() = New String(noDups.Count-1){}
    noDups.CopyTo(uniqueItems)
    Return String.Join(",", uniqueItems)
    End Function
    3.         Create another parameter that will be used for filtering the maindata.
    Please set the available value to be =Split(Code.RemoveDups(JOIN(Parameters!ISSUE_STATUS_TEMP.Value, ",")), ",")
    And the default value to be the value you what such as the first value:
    =Split(Code.RemoveDups(JOIN(Parameters!ISSUE_STATUS_TEMP.Value, ",")), ",").(0)
    4.         Go to the main dataset. Open the property window of this dataset.
    5.         In the “Filters” tab, set the filter to be:
    Expression: <The field to be filter>
    Operator: =
    Value: =Parameters!Region.Value
    The parameter “Region” should be the parameter we created in the step3.
    Now, we should get distinct values of SharePoint columns.
    If there is anything unclear, please feel free to ask.
    Thanks,
    Jin
    Jin Chen - MSFT

  • Create a new column in a table that compares the value of one column with its previous value

    The DDL:
    DECLARE
    @T TABLE
    IDNO
    int,
    name
    varchar(40),
    [Date]
    datetime2,
    Price1
    float,
    Price2
    float
    DECLARE
    @K TABLE
    IDNO
    int,
    name
    varchar(40),
    [Date]
    datetime2,
    Price1
    float,
    Price2
    float
    INSERT
    INTO @T
    VALUES(22,'C_V_Harris','2014-01-02 10:23:49.0000000',
    23.335,      
    23.347)
    INSERT
    INTO @T
    VALUES(21,'C_V_Harris','2014-01-02 10:05:13.0000000',
    23.357,      
    23.369)
    INSERT
    INTO @T
    VALUES(20,'C_V_Harris','2014-01-02 09:56:15.0000000',
    23.364,      
    23.377)
    INSERT
    INTO @T
    VALUES(19,'C_V_Harris','2014-01-02 09:45:26.0000000',
    23.351,      
    23.367)
    INSERT
    INTO @T
    VALUES(18,'C_V_Harris','2014-01-02 09:43:20.0000000',
    23.380,      
    23.396)
    INSERT
    INTO @T
    VALUES(17,'C_V_Harris','2014-01-02 09:34:28.0000000',
    23.455,      
    23.468)
    INSERT
    INTO @T
    VALUES(16,'C_V_Harris','2014-01-02 09:30:37.0000000',
    23.474,      
    23.486)
    INSERT
    INTO @T
    VALUES(15,'C_V_Harris','2014-01-02 09:18:12.0000000',
    23.419,      
    23.431)
    INSERT
    INTO @T
    VALUES(14,'C_V_Harris','2014-01-02 09:16:06.0000000',
    23.360,      
    23.374)
    INSERT
    INTO @K
    SELECT
    ROW_NUMBER()
    OVER (ORDER
    by IDNO)
    AS RN,*
    FROM
    @T
    SELECT
    * FROM
    @K
    --not working:
    SELECT
    a.RN,a.Price2
    FROM
    @K a
    INNER
    JOIN @K
    b
    ON
    a.RN=b.RN-1
    WHERE
    a.Price2>b.Price2
    I need to create  a view with a column (say 'Comp' below) that compares the value of each row in Price2 with the previous Price2 row, and it is greater then +1, the
    same 0, and less -1.
    The processed table should be:
    IDNO
    name
    Date
    Price1
    Price2
    Comp
    22
    C_V_Harris
    1/2/2014 10:23:49
    23.335
    23.347
    0
    21
    C_V_Harris
    1/2/2014 10:05:13
    23.357
    23.369
    1
    20
    C_V_Harris
    1/2/2014 9:56:15
    23.364
    23.377
    1
    19
    C_V_Harris
    1/2/2014 9:45:26
    23.351
    23.367
    -1
    18
    C_V_Harris
    1/2/2014 9:43:20
    23.38
    23.396
    1
    17
    C_V_Harris
    1/2/2014 9:34:28
    23.455
    23.468
    1
    16
    C_V_Harris
    1/2/2014 9:30:37
    23.474
    23.486
    1
    15
    C_V_Harris
    1/2/2014 9:18:12
    23.419
    23.431
    -1
    14
    C_V_Harris
    1/2/2014 9:16:06
    23.36
    23.374
    -1
     How can I structure the statement to get (the most recent - order by date ) result for Comp?

    Satheesh Variath, I just had to make some corrections from your script to get the correct answer:
    CREATE
    VIEW vw_Comp
    AS
    SELECT
    TOP 1 t.IDNO,t.name,t.[Date],t.Price1,t.Price2,
    CASE
    WHEN t.Price2
    > LAG(Price2,1)
    OVER (PARTITION
    BY name
    ORDER BY IDNO) 
    THEN 1
    WHEN t.Price2
    < LAG(Price2,1)
    OVER (PARTITION
    BY name
    ORDER BY IDNo) 
    THEN -1
    ELSE 0
    END
    AS Comp
    FROM 
    @T t
    ORDER
    BY DATE
    DESC
    The adjustments: the selection of the most recent comparison (Top 1) and the use of the function LAG (instead of LEAD) to get the previous value of the column.

  • How to align a String value to the right side inside a table column?

    Hi,
    I have a text view inside a table column which is mapped to a string attribute. I need to align the text in the text view to the right hand inside the table column. But its always getting aligned towards the left side. I have tried by setting the <b>hAlign</b> property of Element properties of Text View to <b>right / forced right</b> but still the text is getting aligned to the left side.
    How do I align the String values in Text View towards the right hand side inside a Table Column?
    Thanks and Regards,
    Sayan Ghosh

    Hello Sayan,
    if i do get it right, you are adding an TextView element to a Table Cell. Then you should consider setting aligment within the particular cell. By calling:
    YourCell.setHorizontalAlignment(CellHAlign.RIGHT)
    regards.
    mz

  • Compare the current value with the previous value in the same column

    Hi all,
    I have to include a statement in a query which allows to compare the current value of column A with the previous value of column A (same column). from there, I need to add a condition in order to have the expected result.
    Let's take an example to illustrate what I want to achieve:
    I have the following columns in table called 'Charges':
    Ship_id batch_nr Order_nr Price
    SID1111 9997 MD5551 50
    SID1111 9998 MD5552 50
    SID1111 9999 MD5553 50
    SID2222 8887 MD6661 80
    SID2222 8887 MD6662 80
    SID2222 8887 MD6662 80
    SID3333 6666 MD7771 90
    I want to check if the ship_id of row 2,3 (and more if available) is equal to the ship_id of row 1.
    If it is the case, then value 'together with the first batch_nr' in row 2 and 3 under Price column. If not, then keep the original value of Price column
    PLease see below the expected result:
    Ship_id batch_nr Order_nr Price
    SID1111 9997 MD5551 50
    SID1111 9998 MD5552 together with 9997
    SID1111 9999 MD5553 together with 9997
    SID2222 8887 MD6661 80
    SID2222 8887 MD6662 together with 8887
    SID2222 8887 MD6663 together with 8887
    SID3333 6666 MD7771 90
    Thanks in advance for your help, it is really urgent.
    Imco20030

    Hi,
    user11961002 wrote:
    Hi,
    Here is the query that I use:
    [ select
    sl.ship_id,
    o.ordnum,
    o.reffld_5 "BatchNR",
    sum(tc1.chrg_amt) "FreightPRC",
    sum(tc2.chrg_amt) "FuelPRC",
    sum (tc1.chrg_amt + tc2.chrg_amt + tc3.chrg_amt) "Total Price"
    from ord_line ol
    join ord o on (ol.ordnum = o.ordnum and ol.client_id = o.client_id)
    join shipment_line sl on (ol.ordnum = sl.ordnum and ol.client_id = sl.client_id and ol.ordlin = sl.ordlin)
    join adrmst a2 on (o.rt_adr_id = a2.adr_id)
    left join tm_chrg tc1 on (tc1.chargetype = 'FREIGHT' and tc1.chrg_role = 'PRICE' and tc1.ship_id = sl.ship_id)
    left join tm_chrg tc2 on (tc2.chargetype = 'FUELSURCHARGE'and tc2.chrg_role = 'PRICE' and tc2.ship_id = sl.ship_id)
    where sl.ship_id = 'SID0132408'
    group by o.client_id, o.ordnum, o.reffld_2, sl.ship_id, a2.adrnam, a2.adrln1, a2.adrpsz, a2.adrcty, a2.ctry_name,
    o.reffld_5, ol.early_shpdte
    order by ship_id
    ]That looks like the query you were using before you started this thread.
    Modify it, using the analytic fucntions FIRST_VALUE and LAG, like I showed you.
    I see that you did simplify the problem quite a bit, and it's good that you did that.
    It doesn't matter that your real problem involves joins or GROUP BY. Analytic functions are calculated on the results after all joins and GROUPS BYs are done. Just substitute your real expressions for the simplified ones.
    For example, in your simplified problem, there was a column called order_nr, but I see now that's it's really called o.ordnum. Where the solution I posted earlier says "ORDER BY order_nr", you should say "ORDER BY o.ordnum".
    Here's a less obvious example: in your simplifed problem, there was a column called price, but I see now that it's really SUM (tc1.chrg_amt + tc2.chrg_amt + tc3.chrg_amt). Where the solution I posted earlier says "TO_CHAR (price)", you should say "TO_CHAR (SUM (tc1.chrg_amt + tc2.chrg_amt + tc3.chrg_amt))". (You can't use an alias, like "Total Price", in the same SELECT clasue where it is defined.)
    I removed some columns from the select as they are not relevant for the wanted action like 'adress details or other references'.
    Now here is the result:
    Shipment ID     Order Number     WMS Batch     Freight      Fuel Price Order Total Price
    SID0132408     MDK-000014-05602649     04641401     110     10 120
    SID0132408     MDK-000014-05602651     04641402     110     10 120
    SID0132408     MDK-000014-05602652     04641363     110     10 120
    as you can see, the 3 orders have the same shipment ID.
    The expected result should be shown under column 'Total Price' as follows:
    Shipment ID     Order Number     WMS Batch     Freight      Fuel Price Order Total Price
    SID0132408     MDK-000014-05602649     04641401     110     10 120
    SID0132408     MDK-000014-05602651     04641402     110     10 tog with 04641401
    SID0132408     MDK-000014-05602652     04641363     110     10 tog with 04641401Okay, so those are the correct results that I asked for, plus the incorrect results you're getting now. Thanks; extra information doesn't hurt.
    But where is the raw data that you're starting with?
    It looks like you tried to format the code (but not the results) by typing this 1 character:
    before the formatted section and this different character
    after the formatted section. To post formatted text on this site, type these 6 characters
    before the formatted section, and the exact same 6 characters again after the formatted section.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Need to compare values in two columns of one table against values in two columns in another table

    Hi, as the title reads, I'm looking for an approach that will allow me to compare values in two columns of one table against values in two columns in another table.
    Say, for instance, here are my tables:
    Table1:
    Server,Login
    ABCDEF,JOHN
    ABCDEF,JANE
    FEDCBA,SEAN
    FEDCBA,SHAWN
    Table2:
    Server,Login
    ABCDEF,JOHN
    ABCDEF,JANE
    FEDCBA,SHAWN
    In comparing the two tables, I'd like my query to report the rows in table1 NOT found in table2. In this case, it'll be the 3rd row of table one:
    Server,Login
    FEDCBA,SEAN
    Thanks.

    create table Table1([Server] varchar(50), Login varchar(50))
    Insert into Table1 values ('ABCDEF','JOHN'),('ABCDEF','JANE'),('FEDCBA','SEAN'),('FEDCBA','SHAWN')
    create table Table2([Server] varchar(50), Login varchar(50))
    Insert into Table2 values ('ABCDEF','JOHN'),('ABCDEF','JANE'), ('FEDCBA','SHAWN')
    select [Server] ,Login from Table1
    Except
    select [Server] ,Login from Table2
    select [Server] ,Login from Table1 t1
    where not exists(Select 1 from Table2 where t1.[Server] = t1.[Server] AND Login=t1.Login)
    drop table Table1,Table2

  • How do you lookup multiple values in different columns based on variable criteria?

    Essentially, I'd like to be able to do a Vlookup but instead of searching for one value only, search for multiple values in separate columns. A smaller version of my current spreadsheet as an example...
    Attack Type ->
    Fire
    Water
    Grass
    Fire
    1/2x
    2x
    1/2x
    Water
    1/2x
    1/2x
    2x
    Grass
    2x
    1/2x
    1/2x
    Fire/Water
    1/4x
    1x
    1x
    Fire/Grass
    1x
    1x
    1/4x
    Grass/Water
    1x
    1/4x
    1x
    The headers are the attack types and the list of types to the left are the receiving Pokemon. Fire does half damage (1/2x) to fire types, Water does double damage (2x) to fire types, etc. I'd like to be able to search for specific damages for each type. For example, I'd like to find a Typing that recieves half (1/2x) damage from Fire-type attacks but also recieves double (2x) from Grass-type attacks. I do want more than just two search criteria though seeing as the actual table is much, much larger.
    I've tried assigning number values to each damage multiplier and then merging all of them together for a specific typing and doing a VLOOKUP based on checkboxes determining what damage multiplier I want in a few specific types, the rest being filled in to the standard of 1x but the result isn't correct most of the time.

    Hi Mitchell,
    VLOOKUP can be set for accept either an 'exact match' or a 'close match'.  Your 17 digit 'number' is actually a 17 character text string (Numbers can handle numbers to a precision of only 15 places). Provided all 17 digits are present, sorting should be the same as for numerical values—the leftmost character is the most significant.
    As a text string, your 'number' is sorted/evaluated alphabetically. A 'close match' accepts the 'largest value that is less than or equal to the search value'.
    If your search term is 000200000 (a 9 character string), several 'wrong' answers will fit the 'close match' criteria, including all of those listed below:
    000200000 (the 'correct' match)
    0000xxxxx (x may be any of the three acceptable values)
    0001xxxxx (x may be any of the three acceptable values)
    The main problem here is that digits in a number (or characters in a text string) have decreasing significance related to their distance from the beginning of the string/number. You want a search in which each character has the same significance as each of the others when compared to the search key. To do that, you need to compare each character in the search string with the character in the same position in the similar string for each type of Pokemon, then take a count of the matches or a sum of the differences.
    Here's one approach:
    Column A contains labels.
    Column B, the 17 digit search term, created in whatever manner you wish, and the similar 17 digit string for each of the characters.
    Columns C through S contains a formula that detines, using subtraction, the difference between each digit of the search term and the corresponding digit of each character's profile.
    Column C uses SUM() to calculate the total of columns C to S for each row.
    T1 uses =MIN(T) to calculate "least different" profile.
    Column A is a Header column; Row 1 is a Header row.
    Formulas:
    C2, and filled right to S2, then down to the last row of data:
    =ABS(MID($B$1,COLUMN()-2,1)-MID($B2,COLUMN()-2,1))
    T1: =MIN(T)
    T2, and filled down column T: =SUM(C2:S2)
    The conditional formatting rule set for all body cells in column T is shown below the table.
    This may be enough to get you started. Formulas can be tweaked to produce results more closely matching what you're looking for, if necessary.
    Regards,
    Barry

  • Comparing  NVL strings in IF statement

    ORA-06550: line 22, column 12: PLS-00412: list of values not allowed as argument to this function or procedure ORA-06550: line 22, column 1: PL/SQL: Statement ignored
    if     nvl((lower(v_address),'null') not like (lower(:ADDRESS)))

    Hi,
    Lucy Discover wrote:
    Whats the valid syntax to compare 2 strings . I want to compare it even if the first string is null.This is the correct syntax
    if     nvl (lower (v_address), 'null') not like lower (:ADDRESS)assuming V_adress and and :address are strings (and not some kind of collection, even if made up of strings).
    I hope this answers your question.
    If not, post a complete procedure or block, a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables, so that people can re-create the probnlem and test their ideas. Also post the results you want from that data.
    Explain, using specific examples, how you get those results from that data.
    Always say which version of Oracle you're using.

  • Comparing custom tags values to request parameters?

    my question is how to compare a taglibrary value to jsp value ..is this even possible?
    my code is as follows and in <!----> tags shows what I want to do...
    basically I want to check if the sql column is equal to a request parameter... ANY HELP WILL BE GREATLY APPRECIATED SINCE I AM STUCK ON THIS FOR A WHILE NOW...
    <%@ page import="java.io.*, java.sql.*, com.simpleneasy.*"%>
    <%@ taglib uri="taglibdb.tld" prefix="sql" %>
    <jsp:useBean id="sub" class="com.simpleneasy.SubPropertyBean"></jsp:useBean>
    <jsp:useBean id="prop" class="com.simpleneasy.PropertyBean"></jsp:useBean>
    <html>
    <table>
    <sql:openConnection driver=<%=getServletContext.getInitParameter("dbdriver")%> url="<%=getServletContext.getInitParameter("url")%>" user="<%=getServletContext.getInitParameter("user")%>" password="<%=getServletContext.getInitParameter("password")%>" id="db"/>
    <% String str ="select * from " + prop.getTableName();
    boolean edit = false;
    if (request.getParameter("action").equalsIgnoreCase("edit"))
    edit = false; %>
    <form name="addedit">
    <td>Property:</td>
    <sql:setquery query="<%=str%>" res="sel"/>
    <td><select name="propid">
    <sql:forEachRow>
    <% if (edit){%>
    <!--over here i want check
    if <sql:getColumn position="1" res="sel"> is equal to request.getParameter("propid") if it is then mark that option as selected...
    -->
    <option value="<sql:getColumn position="1" res="sel"/>"><sql:getColumn position="2" res="sel"/></option>
    <% } else {%>
    <option value="<sql:getColumn position="1" res="sel"/>"><sql:getColumn position="2" res="sel"/></option>
    <%}%>
    </sql:forEachRow>
    </select></td>
    more code continues...

    sorry for making it look like someone had replied, but I am experiencing exactly the same problem as you, I would appreciate if you could keep in touch and help me if possible whne and if u get the answer.
    I tried this as example code
    if (request.getParameter("param").compareTo("comparison"))
    And find that my JSP has a null pointer exception......
    Thanks my mail address is my user name here with hotmail, in addition at the end thanks

  • Retrieving multiple values from one column in SELECT statement

    Hi,
    I have a slight dilemma in that I'm trying to pull down all the values from a column from a select statement that includes some JOINS in it.
    If I run the query at the SQL Plus prompt, it pulls back all the values/rows.
    When I run the select (and prepared ) statement in my JSP, it only pulls back one of the 4 values I'm trying to retrieve.
    e.g.
    at the DB level :
    SELECT role_name, CC_ID FROM votetbl a
    INNER JOIN APPROVERS b ON
    a.BUSVP = b.BUSVP AND
    a.BRANCH = b.BRANCH
    WHERE CC_ID = 1688this will return:
    ROLE_NAME CC_ID
    ops 1688
    ops 1688
    comply 1688
    legal 1688
    comply 1688
    When run in my JSP, like so:
    String primID3a = request.getParameter("primID");
    Statement stmtovoter = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
    String prepvotSQL = "SELECT role_name, CC_ID FROM votetbl a INNER JOIN APPROVERS b ON a.BUSVP = b.BUSVP AND " +
                         "a.BRANCH = b.BRANCH WHERE CC_ID = ?";
    PreparedStatement prepvotstmt = connection.prepareStatement(prepvotSQL);
    prepvotstmt.setString(1, primID3a);
    ResultSet rest3 = prepvotstmt.executeQuery();
    rest3.next();
    String votecat = rest3.getString(1);
    out.println("Vote category: "+votecat);I only get ops returned.
    Do I need to run an enumerator? Or reqest.getParameterValues or use a while statement around the results set?
    Any feedback and direction here is welcomed!
    Thanks!

    Actually, I tried looping and still only get 1, but returned several times.
    i.e.
    PreparedStatement prepvotstmt = connection.prepareStatement(prepvotSQL);
    prepvotstmt.setString(1, primID3a);
    ResultSet rest3 = prepvotstmt.executeQuery();
    rest3.next();
    String votecat = rest3.getString(1);
    while (rest3.next()) {
    out.print("category roles "+votecat);
    }then I get returned the following:
    admincategory roles admincategory roles admincategory roles admincategory roles admincategory roles admincategory roles admincategory roles admincategory roles admincategory roles admincategory roles admincategory roles admin
    like so.
    Where as at the DB level I get
    ROLE_NAME CC_ID
    admin 1688
    ops 1688
    ops 1688
    ops 1688
    ops 1688
    ops 1688
    ops 1688
    ops 1688
    risk 1688
    comply 1688
    legal 1688
    legal 1688
    ops 1688
    comply 1688
    Maybe the while should go around the getString(1) designation? But I was thinking I'd tried that and gotten invalid cursor error
    Something is definitely amiss, between the prepared statement in the servlet and the SELECT statement at the DB level.
    I can totally hardcode the statement in the servlet or JSP and it will return one value potentially several times, but only one.
    Other times, it will not return a value at all, even though one resides in the db.
    Yet go to the DB/SQL Plus prompt and it returns perfectly. I can simply copy and paste the SELECT statement from the out.print line I made and it works like a champ in SQL Plus. Any ideas why the same exact thing cannot return the proper values within the servlet/JSP?
    Yeeeeeeesh!!! : (
    Message was edited by:
    bpropes20

  • SharePoint List Form using InfoPath 2010 "Cannot insert the value NULL into column 'tp_DocId', table 'Content_SP_00003.dbo.AllUserData'; column does not allow nulls"

    I am experiencing issue with my SharePoint site , when I am trying to add new Item in List . Error given below :--> 02/03/2015 08:23:36.13 w3wp.exe (0x2E04) 0x07E8 SharePoint Server Logging Correlation Data 9gc5 Verbose Thread change; resetting trace
    level override to 0; resetting correlation to e2e9cddc-cf35-4bf8-b4f3-021dc91642da c66c2c17-faaf-4ff9-a414-303aa4b4726b e2e9cddc-cf35-4bf8-b4f3-021dc91642da 02/03/2015 08:23:36.13 w3wp.exe (0x2E04) 0x07E8 Document Management Server Document Management 52od
    Medium MetadataNavigationContext Page_InitComplete: No XsltListViewWebPart was found on this page[/sites/00003/Lists/PM%20Project%20Status/NewForm.aspx?RootFolder=&IsDlg=1]. Hiding key filters and downgrading tree functionality to legacy ListViewWebPart(v3)
    level for this list. e2e9cddc-cf35-4bf8-b4f3-021dc91642da 02/03/2015 08:23:36.17 w3wp.exe (0x1B94) 0x1A0C SharePoint Server Logging Correlation Data 77a3 Verbose Starting correlation. b4d14aec-5bd4-4fb1-b1e3-589ba337b111 02/03/2015 08:23:36.17 w3wp.exe (0x1B94)
    0x1A0C SharePoint Server Logging Correlation Data 77a3 Verbose Ending correlation. b4d14aec-5bd4-4fb1-b1e3-589ba337b111 02/03/2015 08:23:36.31 w3wp.exe (0x2E04) 0x07E8 SharePoint Foundation Database 880i High System.Data.SqlClient.SqlException: Cannot insert
    the value NULL into column 'tp_DocId', table 'Content_SP_00003.dbo.AllUserData'; column does not allow nulls. INSERT fails. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject
    stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavi... e2e9cddc-cf35-4bf8-b4f3-021dc91642da 02/03/2015
    08:23:36.31* w3wp.exe (0x2E04) 0x07E8 SharePoint Foundation Database 880i High ...or runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream,
    Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,
    RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand
    command, CommandBehavior behavior,

    Are you trying to setup P2P? Could you explain the process you followed completely? By anychance you create the backup and then created the publication?
    Regards, Ashwin Menon My Blog - http:\\sqllearnings.com

Maybe you are looking for

  • Storage location on basis of Plant in organization level in MM01

    Hello, Here is the scenario.. I select a material in mm01 and click on the 'Organization Level' tab. In this tab(on the basis of view selection, i get Plant and Storage Location) , i give in a Plant, lets say suppose 1000. Now if i press F4 on the St

  • Sales invoice Default layout is not comming..

    hi. I have one problem . i developed one layout by crystal reports and i put it at sales invoice i put it default too. and default for every user. but if i press the print preview...two layout are opening one is batch report plz have a look on below

  • Flash Player doesn't work with Windows 8.1

    Just purchased a new computer it has Windows 8.1 on it--Wanted to watch a You Tube video---and it said to update Flash Player--well It doesn't work at all.  Nothing I can do to make it work---any ideas on how I can get this to work--or what ever it t

  • C COMPAQ VGA CABLE CONNECTOR

    HI my mane is Lulama Mncube in South Africa (Pietermaritzburg). I accidentaly crushed the screen of my CQ58 COMPACQ note book some time ago and I managed to get it fixed. After not so long it came loose I took it back to the person who fixed it for m

  • HT201263 why does my itouch just show the apple logo and nothing else?

    i went into my settings to restore all data and content, and it said it might take up to 4 hours so i let it do that and when it finished it just showed the apple logo when i restarted my itouch, i can reset it any time but itll just stay in the appl