システムwiki

式の最大文字数.次に何ができますか?

corptkm 受付中 最終更新日:2021-05-02 02:32

私は、式ビルダーが私が持つことができるより多くのクエリにフィールドがあります.私は約です.式が完了する前に1行目を離してください.フィールド/表現は行に追加され、ピボットtableで計算されます.
正しい行数が私が式を完成させないようにすると、表現を完了してください.回避策を知っている人は誰でも?

返信リスト(回答:6)

1 #
JohnW.V

表現を見ないと、わかりにくいです.フィールド名が明確である場合、いくつかのトリックはtable名を省略することです.例えば

のような参照がある場合

MyMainTable.[ThisField]

次のように置き換えることができます

[ThisField]

エイリアスを使用することもできます-式が複数のtableからフィールドをプルする場合は、次のようなクエリを使用します

SELECT A.this、A.that、B.theother FROM MyMainTable AS A INNER JOIN MyChildTable AS B

その後、MyMainTable.thisではなくA.thisを使用して、かなりの数の文字を節約できます.フィールド名が長い場合、特にクエリの複数の場所で使用されるフィールド(Join句など)のエイリアスを作成することもできます.

機密でない場合は、クエリのSQLビューを投稿してください.私たちの何人かは提案をすることができるかもしれません.

応答1# ->にスキップ
4 #
corptkm
レポートステータス:Switch([Asset_Qualification_Status] Like "Scheduled"、 "scheduled"、IsNull([Asset_Qualification_Status])、 "UnScheduled"、[Asset_Qualification_Status] Like "Top Secret" And Not IsNull([ROM_Deployment_Date])、 "Scheduled"、[ Asset_Qualification_Status]
"Onboarded"のようにIsNull([ROM_Deployment_Date])、 "Onboarded"、[Asset_Qualification_Status]のように "Onboarded ART-ACT"およびIsNull([ROM_Deployment_Date])、 "OnBoarded"、[Asset_Qualification_Status]のように "Scheduled Mitigating Controls "And Not IsNull([ROM_Deployment_Date])、" Scheduled "、[Asset_Qualification_Status]
"Scheduled ART-ACT"のようにIsNull([ROM_Deployment_Date])ではなく、 "Scheduled"、[Asset_Qualification_Status] "Scheduled ART"のようにIsNull([ROM_Deployment_Date])ではなく、 "Scheduled"、[Asset_Qualification_Status] "Exception要求される」およびIsNull([ROM_Deployment_Date])、 "Unscheduled"、[Asset_Qualification_Status]
"Exception in Effect"、 "Unscheduled"、[Asset_Qualification_Status] Like "Qualified" And IsNull([ROM_Deployment_Date])、 "Unscheduled")
応答4# ->にスキップ
6 #
dhookom

資格ステータスと展開日を受け入れ、文字列を返す小さなユーザー定義関数を作成できる/すべきだと思います.以下のようなもので遊んでみてください.この機能は、ほぼどこでも使用できます
は他の関数を使用します.

パブリック関数GetStatus(QualStat As Variant、DeployDate As Variant)As String
'レポートステータス:
'Switch([QualStat] Like "Scheduled"、 "scheduled"、
'IsNull([QualStat])、 "UnScheduled"、
'[QualStat] IsNull([DeployDate])、 "Scheduled"、
ではなく "TopSecret"のように '[QualStat] Like "Onboarded" And Not IsNull([DeployDate])、 "Onboarded"、
'[QualStat] "Onboarded ART-ACT"およびIsNull([DeployDate])、 "OnBoarded"、
のように '[QualStat] "Scheduled Mitigating Controls"のように、IsNull([DeployDate])、 "Scheduled"、
ではありません '[QualStat] "Scheduled ART-ACT"のように、IsNull([DeployDate])、 "Scheduled"、
ではありません '[QualStat] IsNull([DeployDate])ではなく "Scheduled ART"のように、 "Scheduled"、
'[QualStat] "Exception to be Requested" And IsNull([DeployDate])、 "Unscheduled"、
のように '[QualStat] "Exception in Effect"、 "Unscheduled"、
のように '[QualStat] Like "Qualified" And IsNull([DeployDate])、 "Unscheduled")
Dim strReturn As String
IsNull(QualStat)またはIsNull(DeployDate)またはQualStat="例外が有効"の場合
strReturn="UnScheduled"
それ以外の場合
CaseQualStatを選択
ケース「Scheduled」、「Top Secret」、「Scheduled Mitigating Controls」、_
「ScheduledART-ACT」、「ScheduledART」
strReturn="Scheduled"
ケース「オンボーディング」、「オンボーディングART-ACT」
strReturn="オンボーディング"
選択の終了
終了する場合

GetStatus=strReturn

終了機能

編集

「modBusinessCalcs」という名前の標準モジュールに関数を保存します

2 #
Scottge
式の代わりにカスタム関数を使用します.
5 #
QAGuyCo

2回目のクエリに分割できます.

同じフィールドに複数の基準がある場合、基準のためのTEMPtableを使用してください.

応答5# ->にスキップ
3 #
corptkm

カール....これはそれが実行可能かもしれないように聞こえます.以下は、私のクエリの1つの式/列です.残りの式を持つ別の列を作成し、そのようなものと名前を付けてください.両方の列から別の列にデータを持参する方法はありますか
作成された列:メインレポートステータス?.thecolumn(3rd)MainReportingStatus列は、ピボットtableで使用するものになります.これは行われますか?もしそうなら、どのように私はクエリにそれらを結合するのですか.カール?誰も?